为什么我的 XMLHttpRequest 被中止了?

Why is my XMLHttpRequest being aborted?

我要发送一个 XMLHttpRequest 以登录到远程服务器。我正在获取登录参数(用户名和密码)并将它们作为 json 发送。这是我的代码:

var json_data = JSON.stringify({
    "method": "login",
    "user_login": user,
    "password": password
});

var post_url = "server_url";


var crossRequest = new XMLHttpRequest();
crossRequest.open('POST', post_url, true);    //Async
crossRequest.setRequestHeader("Content-Type", "application/x-www-form-urlencoded;charset=UTF-8");
crossRequest.withCredentials = true;

crossRequest.onreadystatechange = function () {
    if (crossRequest.readyState == 4) {

        alert("Logged in!");
    }
}


crossRequest.onabort = function () {
    alert("ERROR: Aborted.");
}

crossRequest.onerror = function () {
    //alert("Error occurred, status: " + crossRequest.status);
}

crossRequest.onload = function () {
    if (crossRequest.status == 200)
    {
        alert("Logged in!");
    }
    else 
    {
        alert("An error occurred, status: " + crossRequest.status);
    }
}

crossRequest.send(json_data);

它在 Chrome 中工作得很好,但在 IE 11 中它总是中止,似乎在发送任何内容之前:

可能是什么原因造成的,我该如何解决?

似乎存在 IE11 问题

https://connect.microsoft.com/IE/feedback/details/877525/ie11-returns-status-0-during-ajax-post-operation-from-an-iframe-xmlhttprequest-network-error-0x2ee4#tabs

IE10/IE11 Abort Post Ajax Request After Clearing Cache with error "Network Error 0x2ef3"

https://connect.microsoft.com/IE/feedback/details/852785/ie10-network-error-0x2ee4-https-proxy-ajax

• 按 Alt,然后转到“工具”并关闭企业模式(如果尚未关闭)。
• 转到工具 -> Internet 选项 -> 安全 -> 将所有区域重置为默认级别
• 转到工具 -> Internet 选项 -> 高级 -> 恢复高级设置
• 转到工具 -> Internet 选项 -> 常规 -> 删除 -> 临时 Internet 文件和网站文件。