Я использую 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;
}
Моя проблема в том, что оба поля не обязательны, только одно или другое (или оба). Я справился с этим без проблем. Тем не менее, отправленные данные будут отправлены в мой файл PHP с помощью Ajax. В этом PHP я проверяю, какие поля имеют данные, например,
if (isset($_POST["mobileNumber"] && !empty($_POST["mobileNumber"])){
var_dump("WORKING");
}
Затем мне нужно проверить входные данные по API веб-службы. Если я делаю это отдельно, это не проблема. Однако, если оба ввода введены в форму, мне нужно сделать 2 вызова API для двух разных API (каждый ввод использует свой API), а затем вернуть ответ для обоих обратно в .done. Еще раз, если предоставляется только один вход, я не вижу проблемы. Что меня интересует, так это то, что оба входа предоставлены, и как я могу вернуть оба ответа?
Любой совет приветствуется.
Почему бы вам не отправить оба ответа на вызовы 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, если присутствуют оба параметра.
Других решений пока нет …