2012-04-20 135 views
1

我想加上額外參數查詢字符串每個Ajax調用追加額外的參數來調用Ajax查詢字符串

假設原來的網址是:/customer/search?sort=Id,我要處理的URL看起來像

/customer/search?sort=Id&criteria=abc 

這是代碼

$.ajaxPrefilter(function (options, originalOptions, jqXHR) { 
     // Append the initial search criteria 
     options.url += '&criteria=abc'; 
    }); 

的問題是:在一次點擊,則網址:/customer/search?sort=Id&criteria=abc

後第二次點擊,則網址:/customer/search?sort=Id&criteria=abc&criteria=abc

它不斷累加

它看起來像jQuery的Ajax調用使用相同的options對象,所以我增加了一個自定義的標誌

$.ajaxPrefilter(function (options, originalOptions, jqXHR) { 
     // Append the initial search criteria 
     if (!options.processed) { 
      options.url += '&criteria=abc'; 
      options.processed = true; 
     } 
    }); 

問題是:options.processed始終爲undefined。看起來每個ajax調用都使用一個唯一的options對象。現在我很困惑:)

回答

2

不能你根本

$.ajaxPrefilter(function (options, originalOptions, jqXHR) { 
    //check if the new parameter has already ben added 
    if(options.url.indexOf('&criteria') === -1){ 
     options.url += '&criteria=abc'; 
    } 
}); 
+0

我簡單的問題,在實際項目中,附加部件是動態的,不斷變化。所以我不能做'indeoxOf'檢查。謝謝! – nandin 2012-04-20 15:04:21

+0

我將我的國旗加入了網址,問題解決了。謝謝! – nandin 2012-04-20 15:39:56

相關問題