2009-09-09 61 views
1

我試圖使用ajaxStart和ajaxStop事件與getJson調用我的web服務器。 ajaxStart事件在第一個請求上觸發,但不在後續請求上觸發。 encID確保每個請求的url都有點獨特。它在Firefox 3.5或IE 7上不起作用。在firebug中,我可以看到getJSON請求正在觸發並完成。有任何想法嗎?ajaxStart在使用getJSON時在後續請求上失敗

這裏是我的ajax事件綁定。

$('#ajaxLoader').ajaxStart(function(){  
    $(this).show(); 
}).ajaxStop(function(){ 
    $(this).hide(); 
}); 

這是我的getJSON調用。

$.getJSON(location.protocol + '//' + location.host + '/enc-comment/get?format=json&c=?' + '&encId=' + encId, 
function(data){ 
    // change text of a div 
}); 

如果我切換的getJSON呼叫與阿賈克斯GET或POST,一切工作正常。

回答

0

試試這個,經過一個多額外的參數與您的網址:

?+"randomParam="+(Math.random() * 1000) 
0

我猜亞什萬特是指使用隨機參數自動中斷瀏覽器緩存。

這樣做的一個漂亮的方式就是使用$ .ajaxSetup()

$.ajaxSetup({ cache: false }); 

這將阻止您所有的Ajax調用瀏覽器緩存。