2012-05-03 32 views
0

我想接下來要執行:阿賈克斯get請求無用參數

$.ajax({ 
type: 'GET', 
url: 'http://127.0.0.1:6789/dir', 
data: "", 
success: function(data) { /*do something*/ }, 
dataType: 'html' 
}); 

但在執行時,我的服務器收到類似下面的東西:

http://127.0.0.1:6789/dir?_32567871112 

我不想通過任何參數。我錯了什麼?

+0

可能是您的ajax庫自動添加的緩存破壞者,以防止該url被緩存。 –

+0

如何關閉它? – Nolesh

+0

查詢參數不會影響正在命中的URL。 '.../dir'仍然是要求的腳本。 –

回答

1

總之,在您的$.ajax呼叫的選項中設置cachetrue

jQuery補充說,緩存中斷。

有jQuery中的一個選項把它們關掉:(從http://api.jquery.com/jQuery.ajax/

cache

默認:truefalse爲的dataType '腳本' 和 'JSONP'

如果集到false,它會強制請求的頁面不被 瀏覽器緩存。將緩存設置爲false還會將查詢字符串參數 「_ = [TIMESTAMP]」附加到URL。

例與cache設置爲true

$.ajax({ 
    type: 'GET', 
    cache: true, 
    url: 'http://127.0.0.1:6789/dir', 
    data: "", 
    success: function (data) { /*do something*/ 
    }, 
    dataType: 'html' 
}); 
1

檢查jQuery.ajax文檔

如果你看一下緩存參數,你可以看到這是在該格式通話結束時添加時間戳。如果你想擺脫它嘗試設置緩存爲真,或鍵入到POST(如果你不想允許兌現)

1

我在我的代碼有ajaxSetup屬性:

$.ajaxSetup({ cache: false }); 

我評論它和它的作品吧! 謝謝。