У меня есть код, который отлично работает в chrome, но в IE он ошибочен. Условие if отлично работает в chrome, но похоже, что в IE первое условие всегда выполняется независимо от значения resData. Я просил передать ответ, и пакет содержит «запущен», но он по-прежнему входит в первое условие if if (resData === 'not 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);
}
}
});
Edit:
Я изменил все, если состояние с "==".
После дополнительной отладки он не всегда выполняет первое условие if, кажется, проблема ajax. Он получает правильное значение данных при первом запуске после загрузки страницы, но любое другое GET даст мне первое значение, даже если в wirehark оно отображает правильное обновленное значение.
Точно проблема. Изменен мой $ .get для $ .post и изменил мою серверную часть запросов на получение почты, и все это работает. Причина в том, что сообщение не кэшируется после каждого запроса в отличие от get, как и в соответствии со спецификацией. Забавно, что хром не следит за этим, но IE делает. – guiomie