2012-03-16 72 views
0

我正在使用jQuery進行ajax調用。 我知道ajax的成功\失敗的功能,但我怎麼能確定發生了什麼?如何知道被調用的文件是否返回錯誤?

這意味着如果我調用一個example.php文件,如果文件存在,它將返回成功,對不對? 現在我怎麼知道文件是否做了它所支持的功能呢?

回答

1

你應該從處理ajax請求的服務器頁面返回一個apt響應。我很想擁有一個回覆代碼/狀態,說明操作的狀態。

$.post("someurl.php",function(data){ 
    if(data=="success") 
    { 
     alert("Successfully Updated"); 
    } 
    else 
    { 
    alert("Some error in processing!"); 
    } 
} 

,並從你的PHP返回「成功」如果你的操作是成功的,並返回「錯誤」如果不是成功的。

編輯:這裏是你如何使用jQuery阿賈克斯 jQuery的崗位做到這一點是jQuery的AJAX方法與崗位類型

$.ajax({ 
    url: "youruel.php?querystring1=12&id=34", 
    success: function(data){ 
    if(data=="success") 
     { 
      alert("Successfully Updated"); 
     } 
     else 
     { 
     alert("Some error in processing!"); 
     } 
    } 
}); 

一個簡短您也可以添加錯誤事件來處理這些呢。

+0

這聽起來是正確的。但是我使用$ .ajax而不是$ .post,這與獲取數據的方式是一樣的嗎? – 2012-03-16 15:55:11

+1

@ eric.itzhak:我更新了我的答案。 – Shyju 2012-03-16 16:00:04

+0

非常感謝!有一個美好的週末! – 2012-03-16 16:02:17

0

我會嘗試設置錯誤在你的PHP文件處理,返回這裏所描述的錯誤信息:

jQuery Ajax error handling, show custom exception messages

然後,你可以看看XHR消息看錯誤是在jQuery的東西。

+0

我不需要調試它,我只需要知道如果行動成功,以進步...... – 2012-03-16 15:51:15

0

我可以告訴你,理論上我是怎麼做的用C#處理程序(你可以很容易地轉換)

第一jquery的成功回調:

success: function (jsonResult, textSuccess) { 
     if (jsonResult.Errored) { 
      // ouch failed 
      $("#helpErrorDiv").show(); 
     } 
     else { 
      // do something on success 
     } 
     } 

和服務器端的代碼,總是返回JSON:

context.Response.ContentType = "application/json"; 

try { 
    // do something and return successfully a json object 
} 
catch (Exception ex) 
{ 
    context.Response.Write((new {Errored = true}).ToJson()); 
} 
相關問題