2013-07-02 228 views
1

我的腳本無法在Internet Explorer中正常使用。問題在於腳本運行一次後,'data'(JSON.stringify(data);)沒有用新值更新,它更新div的值與第一次相同跑。當談到js時,我是一個新手,不知道如何解決這個問題。感謝您的幫助!javascript與IE不兼容

function ful() { 
    $.ajax({ 
     url: 'api.php', 
     data: "", 
     dataType: 'json', 
     success: function(data) { 
      var imp = ""; 
      var imps = new Array(); 
      var set = new Array(); 
      var div1, div2, div3, div4, tmp, hum, tid = ""; 
      var temp = ""; 
      var humi = ""; 
      imp = JSON.stringify(data); 
      var values = imp.split(','); 
      var i = 0; 
      var y = 0; 
      for (var x = 0; x < values.length; x++) { 
       imps[y] += values[x]; 
       i++; 
       if (i == 4) { 
        y++; 
        i = 0 
       } 
      } 
      for (var x = 0; x < imps.length; x++) { 
       div1 = "impid" + x; 
       div2 = "temp" + x; 
       div3 = "hum" + x; 
       div4 = "tid" + x; 
       set = imps[x].split('"'); 
       tmp = set[9]; 
       hum = set[13]; 
       tid = set[17]; 
       for (var y = 0; y < tmp.length; y++) { 
        temp += tmp[y]; 
        if (y == 4) break; 
       } 
       for (var y = 0; y < hum.length; y++) { 
        humi += hum[y]; 
        if (y == 4) break; 
       } 
       document.getElementById(div1).textContent = "ID : " + set[5]; 
       document.getElementById(div2).textContent = "Temprature : " + temp + " °C"; 
       document.getElementById(div3).textContent = "Humidity : " + humi + " %"; 
       document.getElementById(div4).textContent = tid; 
       temp = ""; 
       humi = ""; 
       tmp = ""; 
       tid = ""; 
       hum = ""; 
      } 
     } 
    }); 
    setTimeout(ful, 6000) 
} 
$(ful); 
+0

請註明您遇到麻煩的IE版本的jQuery爲你false指定當cache參數自動執行此操作。它可以產生非常大的差異。另外,你有沒有嘗試通過http://jshint.com/運行你的代碼? – Spudley

+0

'JSON'已經在IE 8中引入。爲了使用它,你需要聲明一個文檔類型,如果我能夠正確回想,頁面也需要''。 – Teemu

回答