小编典典

jQuery ajax $ .post不起作用IE10

ajax

我已经尝试过两种方法。

方式1

function Login() {
    var email = encodeURIComponent($("#loginemail").val());
    var pass = encodeURIComponent($("#password").val());
    $.ajax({
        url:"/user/login",
        type: "POST",
        data: {email:email, password:pass},
        dataType: "json"
    }).done(LoginDone);
    //$.post("/user/login", {email:email, password:pass}, LoginDone);
}

方式二

    function Login() {
        var email = encodeURIComponent($("#loginemail").val());
        var pass = encodeURIComponent($("#password").val());
        $.post("/user/login", {email:email, password:pass}, LoginDone);
    }

这两种工作方式上的镀铬细,但由于某种原因与IE不发送数据{email:email, password:pass}POST,或根本。

我已经在本地服务器和实时Web服务器上进行了尝试,两者都得到了相同的结果。

在这里使用IE10。


阅读 371

收藏
2020-07-26

共1个答案

小编典典

~~~~

data: {email:email, password:pass}

应该

data: {"email":email, "password":pass}

您将变量的值作为键传递,因此,如果您的服务器端资源期望email它实际上看到了该变量的值encodeURIComponent($("#loginemail").val())

这可能不是IE10问题,这不应该像在任何浏览器中一样起作用。

更新资料

由于IE 10中的错误修复,此答案可能不再适用。

请忽略此答案,这是错误的,由于被接受而无法删除。

2020-07-26