为什么我的XMLHttpRequest被中止?

时间:2015-01-21 17:47:38

标签: javascript asp.net ajax login xmlhttprequest

我有一个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中它总是中止,似乎在发送任何内容之前:

IE 11 Dev Panel Network

IE 11 Dev Panel Error

可能导致这种情况的原因,我该如何解决?

2 个答案:

答案 0 :(得分:2)

答案 1 :(得分:0)

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