Javascript IE中忽略了XMLHttpRequest(POST)
我使用XMLHttpRequest将数据发布到服务器。看起来是这样的:Javascript IE中忽略了XMLHttpRequest(POST),javascript,ajax,internet-explorer,xmlhttprequest,Javascript,Ajax,Internet Explorer,Xmlhttprequest,我使用XMLHttpRequest将数据发布到服务器。看起来是这样的: var xhr = new XMLHttpRequest(); var url = 'http://myurl/post'; xhr.open("POST", url, true); xhr.setRequestHeader("Content-type", "application/x-www-form-urlencoded"); xhr.onreadystatechange = function()
var xhr = new XMLHttpRequest();
var url = 'http://myurl/post';
xhr.open("POST", url, true);
xhr.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
xhr.onreadystatechange = function() {
if (xhr.readyState == 4 && xhr.status == 200) {
if (xhr.status == 200) {
leaveEditMode();
} else {
initOverlay('Error: ' + xhr.statusText);
}
}
};
xhr.send(
'StringName=' + $activeElement.dataset.name + '&' +
'Text=' + encodeURIComponent($activeElement.innerHTML) + '&' +
'Language=' + userLanguage
);
这段代码在Chrome、FireFox和Opera中运行良好。但在IE11中,情况并非如此。没有错误,我从请求中获得状态代码200。但数据并未公布。似乎请求被忽略了
有什么想法吗?我尝试了一个反缓存头-什么都没有
谢谢你的帮助!:-) 问题很简单,参数userLanguage设置不正确,服务器没有发送适当的响应。如果您返回状态,请求必须转到某个地方。服务器端看到了什么?
AjaxRequest.getInstance()
似乎不祥。它在做什么?AjaxRequest.getInstance()返回一个新的XMLHttpRequest对象。是否从文件://协议而不是http://执行代码?IE11在文件://protocol上的XMLHttpRequest有问题。它是同一个域吗?它是从https到http的吗?控制台中出现了什么?