2015-06-04 4 views
0

Я использую проверку JQuery для двух полей. Я выполняю все мои проверки и отображение сообщений, если проверка не выполняется. Я тогда мой представить обработчик, который использует AjaxJQuery validate plugin, ajax submit

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. Еще раз, если предоставлен только один вход, я не вижу проблемы. Мне интересно, есть ли оба входа, и как я могу вернуть оба ответа?

Любые советы, оцененные.

ответ

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, если присутствуют оба параметра.

Смежные вопросы