2014-01-15 55 views
1

我使用Ajax調用PHP文件來處理從提交。我的JQuery表單驗證檢查變量的值以確定是否提交表單或返回false並顯示錯誤消息。如何在成功時從我的PHP文件返回JQUERY變量和值到當前腳本?使用Ajax返回JQuery

我的JQuery和Ajax:

$.ajax({ 
    type: "POST", 
url: "validate.php", 
data: dataString, 
success: // what do I do here? { 
    } 
}); 

難道我只輸出腳本我的PHP頁面,然後返回HTML?

+1

傳回JSON,返回一個值,以確定驗證是否成功以及字符串消息。如果返回碼爲false,則顯示該消息 – jammykam

回答

1

您也可以返回簡單的東西爲「是」或「否」爲html和處理它的方式,如果你不」不想用json來簡單回覆。我發現json是越野車,有時會導致我很多不必要的錯誤,如果你只需要知道是或否,爲什麼要通過一個rigamarole。

$.ajax({ 
    dataType: 'html', 
    type: 'POST', 
    data: {formfieldname:formvalue,formfieldname2:formvalue}, 
    success: function(data){ 
     if(data == 'yes') { 
     // do your success stuff 
     } 
     else { 
     // do your error stuff 
     } 
    } 
}); 
0

您的PHP將讀取數據,您可以在$ _POST內訪問它。你的腳本會對這些數據做一些處理,並返回一些自己的數據。你可以並且應該返回有效的json爲你的成功函數使用json_encode。這是可訪問的,如果你寫的下一個回調函數:success: function(data) { // do something with data }

3
$.ajax({ 
type: "POST", 
    url: "validate.php", 
    data: dataString, 
    //you can use json data, it will be easier to tranfer complex data 
    dataType: "json", 
    success: function(data) { 
     //the data will contain the return result 
     //for example you have an error message in following format 
     //{error:'some error has been occured'} 
     if(data.error) 
      alert(data.error); 
    } 
}); 
1

我不知道你在想什麼了「JQUERY」變量。你的意思是JSON?

假設你要發送JSON和接收JSON,你會打電話:

$.ajax({ 
    dataType: 'json', 
    type: 'POST', 
    data: data_object, // not string! 
    success: function(data){ 
     // data will be the json data returned by your PHP script 
    } 
}); 

在簡單情況下,在PHP中你會打電話jsonencode一個PHP數組到PHP數組轉換爲JSON。

例如(PHP)

header('Content-Type: application/json'); 
echo json_encode(array('foo' => 'bar')); 

看到這個答案:

PHP returning JSON to JQUERY AJAX CALL

0

我會建議以JSON的形式發回數據,然後在html ajax成功解析json並獲取值。