我已经尝试过两种方法。
方式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,或根本。
{email:email, password:pass}
POST
我已经在本地服务器和实时Web服务器上进行了尝试,两者都得到了相同的结果。
在这里使用IE10。
~~~~
data: {email:email, password:pass}
应该
data: {"email":email, "password":pass}
您将变量的值作为键传递,因此,如果您的服务器端资源期望email它实际上看到了该变量的值encodeURIComponent($("#loginemail").val())。
email
encodeURIComponent($("#loginemail").val())
这可能不是IE10问题,这不应该像在任何浏览器中一样起作用。
更新资料
由于IE 10中的错误修复,此答案可能不再适用。
请忽略此答案,这是错误的,由于被接受而无法删除。