2011-10-05 36 views
2

我的所有REST服務都會返回一些通用標誌作爲每個JSON響應結構的一部分。例如,通知標誌。我怎樣才能乾淨地設置一些東西來鉤入頁面上的每個ajax請求,以檢查響應有效載荷是否存在這些標誌。檢查JSON數據的全局AJAX成功處理程序

我也想對請求做類似的事情,方法是在調用之前將某些常用參數自動添加到URL中。

請幫忙!

回答

2

這聽起來像我.ajaxSuccess()doc here會讓你做你想做的事情,因爲它是一個集中的方法,所有jQuery ajax請求的成功調用。其他全球ajax處理程序列表here

+1

這似乎是正確的做法,但你錯過了一個關鍵細節(從鏈接文檔):'你可以獲取返回的AJAX內容看在xhr.responseXML或xhr.responseHTML分別爲xml和html .' – nrabinowitz

0

一種可能的方式是建立一個轉換器:

例如,我用一個來檢測我的asp.net版本(3.5+回報的東西不同)的「d」屬性的所有腦幹:

$.ajaxSetup(
    { 
    data: "{}", 
    dataType: "jsond", 
    type: "POST", 
    contentType: "application/json", 
    converters: 
    { 
     "json jsond": function(msg) { 
     return msg.hasOwnProperty('d') ? msg.d : msg; 
     } 
    } 
}); 

你同樣可以做同樣的成功:

$.ajaxSetup(
    { 
    data: "{}", 
    dataType: "json", 
    type: "POST", 
    contentType: "application/json", 
    success: 
    { 
     "json": function(msg) { 
      MyGlobalvariable = msg.hasOwnProperty('MyFlag') ? msg.MyFlag : ""; 
     } 
    } 
});