我正在尝试使用dojo.xhrGet从php文件中获取一些json。一切都在Firefox中运行良好,但IE根本不起作用,Chrome可能会被击中或错过。问题是回调没有被执行(在load参数中)。我检查了Chrome中的Inspector,并且返回的请求包含正确的数据,readyState为4,状态为200,但回调未执行。什么想法可能会出错?这可能是因为范围问题而发生的吗?
var xhrArgs = {
url : "/phpHelpers/getImages.php",
handleAs : "json",
load : function(result) {
alert('load callback');
},
error : function(error) {
alert('error');
}
};
this.def = dojo.xhrGet(xhrArgs);
答案 0 :(得分:0)
您是否尝试过使用preventCache
parameter? IE特别喜欢缓存xhr GET,除非您在开发人员工具中勾选了“始终刷新服务器”选项。
var xhrArgs = {
url : "/phpHelpers/getImages.php",
handleAs : "json",
preventCache: true,
load : function(result) {
console.log(result);
},
error : function(error) {
console.log(error);
}
};
答案 1 :(得分:0)
我能够追踪问题......都是因为这个:
<script type="text/javascript" src="https://getfirebug.com/firebug-lite.js"></script>
我把它包含在我的主文件中,由于某种原因它阻碍了在ie和chrome中触发的回调(虽然Chrome被击中或错过)。我不确定为什么firebug会导致这种情况,但删除包含修复了问题。感谢大家的投入。