2011-02-08 150 views
5

我想對新功能(http://api.jquery.com/jQuery.ajax)對http狀態代碼(如200,201或202)做出反應。但是這個函數忽略了我的201和202回調函數。如何正確處理httpStatuscode

此錯誤與Firefox,4.0_b10和鉻9.0

我期待着解決這個問題不大occures。

問候斯特凡

我的代碼剪斷:

 
jQuery.ajax({ 
     url: url, 
     dataType: 'json', 
     statusCode: { 
      404:function() { alert("404"); }, 
      200:function() { alert("200"); }, 
      201:function() { alert("201"); }, 
      202:function() { alert("202"); } 
     }, 
     success: function(data){ 
      switch(data.status) { 
      case 'done': 
       /* display it to the User */ 
       break; 
      } 
     }); 
+0

您確定因爲您正在測試的呼叫而獲得201和202響應嗎?你想要做的是使用小提琴手或螢火蟲來檢查請求,並查看返回的狀態代碼。我懷疑這是一個200響應,因爲這是GET或POST請求的成功響應 – Adrian 2011-02-08 20:13:05

回答

2

的解決方案如下:

 
jQuery.ajax({ 
     url: url, 
     dataType: 'json', 
     statusCode: { 
      404:function() { alert("404"); }, 
      200:function() { alert("200"); }, 
      201:function() { alert("201"); }, 
      202:function() { alert("202"); } 
     }/*, 
     success: function(data){ 
      switch(data.status) { 
      case 'done': 
       /* display it to the User */ 
       break; 
      } 
     }*/ 
     }); 

不知何故,成功,方法是在衝突與httpStatusCode地圖

Regania Stefan

+1

我不得不花一分鐘時間來弄清楚你的解決方案與原點的不同之處。直到我看到你已經評論了成功功能。如果您的解決方案真的有效,請將其作爲您自己的答案! – 2013-02-15 00:26:23