我在两个字段上使用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),然后将两者的响应返回到.done。再一次,如果只提供一个输入,我没有看到问题。我想知道的是,是否提供了两个输入,以及如何返回两个响应?
任何建议表示赞赏。
答案 0 :(得分:1)
为什么不在一个响应中发回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的请求。