2010-04-22 97 views
0

我想用jquery做客戶端驗證來做檢查並返回錯誤或成功。發送返回Ajax變量

我知道如何回顯text/html作爲迴應,但這是我正在嘗試做的。

On Error,發回消息,以便用戶可以重新提交表單。 成功後,重新載入頁面。

我不知道如何讓它發送一個變量,我認爲這會讓我做任何條件在jQuery中。

有什麼建議?

回答

1

JavaScript的可能是這樣

$.ajax({ 
    type: 'POST', 
    url: ajaxPage, 
    data: postContent, 
    success: function(response) { 
     //Assume that the php failed 
    }, 
    error: function() { alert("Ajax request failed."); } 
}); 

現在在阿賈克斯PHP文件的財產以後,你可以有這個

<?php 
    //Check for validation 

    if(validation == 'success') { 
     header('Location: '.FILE_LOCATION); 
    } 
    else { 
     exit('Form submit failed. Please try again'); 
    } 
?> 

希望這有助於!大都會

編輯自新信息

如果你想使用一個JSON對象,你可以,如果你使用JSON或沒有做到像下面

<?php 
    $response = array('validationStatus' => true); 
    exit(json_encode($response)); 
?> 

它不是一個真正的大問題,你仍然可以傳遞一個字符串。我認爲json對於需要傳回的更復雜的數據來說真的更好,但是可能有10種不同的方式來執行此操作。

1

查看文檔http://api.jquery.com/jQuery.ajax/,您會發現一個成功和錯誤選項,您可以在請求成功或失敗時提供一個函數來調用。

$.ajax({ 
    url: 'ajax/test.html', 
    success: function(data) { 
     //reload your page 
    }, 
    error: function(data) { 
     alert("Resubmit the form!"); 
    } 
}); 
+0

你如何讓你的ajax文件去錯誤功能?我從來沒有見過這個。我認爲錯誤函數只有在連接之間發生了某些事情時(比如ajax頁面丟失/錯誤)。另外,如果連接有問題怎麼辦?用戶會認爲表單失敗,不會理解錯誤。 – Metropolis 2010-04-22 02:42:09

+0

這就是我的想法,錯誤函數是如果ajax調用出錯,我說的錯誤是服務器端驗證。 – matthewb 2010-04-22 02:44:12

+0

我明白了,在這種情況下,我誤解了你的問題。我會讓你發佈的頁面發回一個JSON對象,並在後端發生結果。然後我將在成功選項句柄中定義該函數,以便JSON對象確定下一步該做什麼。 – 2010-04-22 03:04:32