JQuery 验证插件,ajax 提交
JQuery validate plugin, ajax submit
我在两个字段上使用 JQuery 验证。如果验证失败,我会进行所有验证并显示消息。然后我有我的提交处理程序,它使用 Ajax
submitHandler: function(form) {
$.ajax({
type: $(form).attr('method'),
url: $(form).attr('action'),
data: $(form).serialize(),
dataType : 'json'
})
.done(function (response) {
if (response.success == 'success') {
alert('success');
} else {
alert('fail');
}
});
return false;
}
我的问题是两个字段都不是必需的,只有一个或另一个(或两个)。我处理过这个没问题。但是,提交的数据将使用 Ajax 发送到我的 PHP 文件。在这个 PHP 中,我检查哪些字段有数据,例如
if (isset($_POST["mobileNumber"] && !empty($_POST["mobileNumber"])){
var_dump("WORKING");
}
然后我需要根据 Web 服务检查输入 API。如果我单独执行此操作,这不是问题。但是,如果两个输入都输入到表单中,那么我需要对 2 个不同的 API 进行 2 API 调用(每个输入使用不同的 API),然后 return 两者的响应都返回到 .done。再一次,如果只提供一个输入,我看不出有什么问题。我想知道的是,是否提供了两个输入,以及我如何 return 两个响应?
感谢任何建议。
为什么不在一个响应中发送 API 调用的两个响应?
$response = array();
if (isset($_POST["mobileNumber"] && !empty($_POST["mobileNumber"])){
$response['mobileNumberResponse'] = array('success'=>true,'data'=>array());
}
if (isset($_POST["secondParameter"] && !empty($_POST["secondParameter"])){
$response['secondParameter'] = array('success'=>true,'data'=>array());
}
echo json_encode($response);
或类似的东西。如果这不是一个选项,则在两个参数都存在的情况下发送两个 ajax 的请求。
我在两个字段上使用 JQuery 验证。如果验证失败,我会进行所有验证并显示消息。然后我有我的提交处理程序,它使用 Ajax
submitHandler: function(form) {
$.ajax({
type: $(form).attr('method'),
url: $(form).attr('action'),
data: $(form).serialize(),
dataType : 'json'
})
.done(function (response) {
if (response.success == 'success') {
alert('success');
} else {
alert('fail');
}
});
return false;
}
我的问题是两个字段都不是必需的,只有一个或另一个(或两个)。我处理过这个没问题。但是,提交的数据将使用 Ajax 发送到我的 PHP 文件。在这个 PHP 中,我检查哪些字段有数据,例如
if (isset($_POST["mobileNumber"] && !empty($_POST["mobileNumber"])){
var_dump("WORKING");
}
然后我需要根据 Web 服务检查输入 API。如果我单独执行此操作,这不是问题。但是,如果两个输入都输入到表单中,那么我需要对 2 个不同的 API 进行 2 API 调用(每个输入使用不同的 API),然后 return 两者的响应都返回到 .done。再一次,如果只提供一个输入,我看不出有什么问题。我想知道的是,是否提供了两个输入,以及我如何 return 两个响应?
感谢任何建议。
为什么不在一个响应中发送 API 调用的两个响应?
$response = array();
if (isset($_POST["mobileNumber"] && !empty($_POST["mobileNumber"])){
$response['mobileNumberResponse'] = array('success'=>true,'data'=>array());
}
if (isset($_POST["secondParameter"] && !empty($_POST["secondParameter"])){
$response['secondParameter'] = array('success'=>true,'data'=>array());
}
echo json_encode($response);
或类似的东西。如果这不是一个选项,则在两个参数都存在的情况下发送两个 ajax 的请求。