Ben*_*Ben 9 javascript ajax internet-explorer xmlhttprequest internet-explorer-11
我对IE11和ajax有一个奇怪的错误.对于我使用下面的代码提出的几乎所有请求,一切都很好,但是当我尝试与复制+粘贴方法一起使用时,它返回一个拒绝访问错误.总结一下
这是AJAX代码:
function ajaxRequest(requestName,responseFunction,parameters) {
var xmlhttp;
if (requestName.length==0) return;
if (window.XMLHttpRequest) {
xmlhttp=new XMLHttpRequest();
} else {
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.onreadystatechange=function() {
if (xmlhttp.readyState==4 && xmlhttp.status==200) {
if(xmlhttp.responseText == 'Error') alert('Error processing request. Please refresh the page and try again');
else if(xmlhttp.responseText != '') eval(responseFunction+"('"+xmlhttp.responseText+"')");
}
}
var now = new Date();
var url = "control/ajax.php?request="+requestName+"¶meters="+parameters+"×tamp"+now;
xmlhttp.open("GET",url,true);
xmlhttp.send();
}
Run Code Online (Sandbox Code Playgroud)
失败的一个例子,设置了以下变量:
requestName:"save_marksheet_mark"responseFunction:"update_save_marksheet_mark"参数:[60962,1284,5]
这段代码有问题吗?在特殊情况下,IE11是否会在此代码中引发错误?
这个问题似乎得到了很多观点,所以如果有人想知道,我通过在原始AJAX调用上使用setTimeout()解决了这个问题.例如:
setTimeout(function() {
ajaxRequest('save_mark','save_mark_completed',[60962,1284,5])
}, 1);
Run Code Online (Sandbox Code Playgroud)
我假设它是IE中的某种错误.只需1毫秒就可以了!
| 归档时间: |
|
| 查看次数: |
8678 次 |
| 最近记录: |