我有一些代碼在Chrome中完美工作,但它在IE中出錯。 if條件在chrome中完美工作,但似乎在IE中,第一個條件總是被執行,而不管resData的值如何。我wiresharked響應,並且數據包包含'開始',但它仍然在第一條件如果條件if(resData ==='不runnin')。
$.get('/getOutputBuffer', function(resData){
if(resData === 'not running'){
$('#output').append('Executable not started<br>');
}
else{
$('#output').append('Executable started (Now listening)<br>');
if(resData !== 'no updates'){
$('#output').append('status is ' +resData);
}
}
});
編輯:
我已經改變了所有的條件,如果用 「==」。
經過更多的調試,它並不總是執行第一個條件,ajax函數似乎是問題所在。它在頁面加載後第一次執行時會獲得正確的數據值,但是任何其他GET都會給我第一個值,即使在wireshark中它也會顯示正確的更新值。
問題確實存在。更改$ .get爲$ .post,並更改我的get請求服務器端的帖子,這一切工作。原因是post不會在每次請求後緩存,就像相應的規範一樣。有趣的是,鉻不遵循這一點,但IE瀏覽器。 – guiomie 2012-01-03 20:57:53