2012-02-19 34 views
1

這是我的代碼。它與Chrome完美兼容,但是當我啓動Firefox時,它只能在第一次通話時使用。當我嘗試第二次傳遞數據時,出現以下錯誤:
嘗試在已清除的範圍上運行」編譯並運行腳本「。
我想問題是在「成功」參數的函數調用中,但我不明白什麼是錯的。
預先感謝您的幫助。Firefox上的jquery ajax長查詢錯誤

$.noConflict(); 
jQuery(document).ready(function(){ 
in_poll(); 
}); 

function in_poll() 
    { 
    jQuery.ajax(
     { 
     url: "prova.php", 
     cache: false, 
     dataType: "json", 
     success: function(data) 
      { 
      .... OUTPUT DATA RETRIEVED.... 
      in_poll(); 
      },   
     error: function (xhr, ajaxOptions, thrownError) 
      {   
      alert(thrownError); 
      setTimeout('in_poll()', 5000);//Try againg after 5 seconds 
      }, 
     timeout: 25000 
     }); 
    } 
+0

這可能是Firebug的一個問題;你可以嘗試與Firebug禁用和緩存清除? – Nic 2012-02-19 08:08:23

回答

2

這是一個FF特定的錯誤,最有可能是由於緩存,你可以嘗試添加像這裏面的head標籤

<meta http-equiv="cache-control" content="no-cache" /> 

元欲瞭解更多看到http://groups.google.com/group/mozilla.dev.platform/browse_thread/thread/10ff69b04b88e06f/87f89aaec17c1aed

+0

你也可以檢查這個http://stackoverflow.com/questions/5433415/error-attempt-to-run-compile-and-go-script-on-a-cleared-scope – 2012-02-19 08:39:42

+0

謝謝你的回答。有用!! – Arnaldo 2012-02-19 10:13:21

+0

不客氣。 – 2012-02-19 10:14:33

0

最後我經過長時間的頭痛後找到了答案。 Heera和Melee給出的提示很有幫助,但根本沒有解決問題。 實際上我的腳本是正確的。
問題是一個「document.write()的」功能到未在我張貼的scritp提到的參數「成功」(.... OUTPUT DATA檢索....)和內部。
我不知道爲什麼,但似乎「成功」內的「document.write()」只適用於Chrome。