簡體   English   中英

jQuery驗證插件,ajax提交

[英]JQuery validate plugin, ajax submit

我在兩個字段上使用JQuery validate。 我會進行所有驗證,如果驗證失敗,則會顯示消息。 然后,我有使用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。 再一次,如果只提供一個輸入,我看不到問題。 我想知道的是是否同時提供了兩個輸入,如何返回兩個響應?

任何建議表示贊賞。

您為什么不將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請求。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM