ie的If语句和$.ajax
Internet Explorer If statement and $.get ajax
我有一些代码,在chrome完美的工作,但它在IE出错。if条件在chrome中完美地工作,但似乎在IE中,无论resData的值如何,第一个条件总是执行。我wireshark响应,数据包包含'started',但它仍然在第一个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);
}
}
});
编辑:我用" == "改变了所有的if条件。
经过更多的调试,它并不总是执行第一个if条件,ajax函数似乎是问题所在。它在加载页面后第一次执行时获取正确的数据值,但任何其他GET都会给我第一个值,即使在wireshark中它显示正确的更新值。
不要使用"= = =",用"= ="。字符串OBJECT和字符串LITERAL是有类型区别的。在这种情况下,您只关心值的等价性,而不关心(值+类型)的等价性。
听起来像是臭名昭著的IE-AJAX缓存问题。这里有一些信息http://ajaxian.com/archives/ajax-ie-caching-issue但谷歌可能会提供给你更多。IE缓存响应,所以我猜这就是为什么你会一次又一次地得到第一个响应。我有点困惑,因为您在Wireshark中看到正在发出请求,但尝试将URL设置为'/getOutputBuffer?r=' + new Date().getTime()
,看看会发生什么。
相关文章:
- SyntaxError:缺少;before语句使用AJAX
- ReactJS:在带有 ajax 调用的 .map() 语句完成后执行代码
- 如何使用for循环语句通过Ajax发送大数据数组
- PHP INSERT Prepared语句未使用ajax插入
- Javascript AJAX PHP if语句不起作用
- Ajax 调用忽略我的 if 语句
- 如何从 jQuery.ajax 成功语句推送父对象
- if 和 else-if 语句拒绝在 jQuery 的 AJAX 函数中工作
- 如何在 ajax jquery 中编写成功语句以更改单选按钮
- if 语句在 javascript/ajax 中不起作用
- ajax if 语句无法正常工作
- Ajax 请求在没有警报语句的情况下不起作用
- Return语句在ajax调用之前调用
- 如何在JQueryWhen-Then语句中循环Ajax请求
- 使用带有IF语句的jQuery ajax响应
- 发送ajax请求时出现return语句问题
- ajax附加块中的if语句
- 访问$.ajax语句中分配的JSON时出现问题
- Ajax if 语句请求
- 转换要在Ajax语句中读取的coldfusion变量