【发布时间】:2012-06-27 22:22:05
【问题描述】:
这两种方法我都试过了。
方式 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);
}
方式 2
function Login() {
var email = encodeURIComponent($("#loginemail").val());
var pass = encodeURIComponent($("#password").val());
$.post("/user/login", {email:email, password:pass}, LoginDone);
}
这两种方式在 chrome 上都可以正常工作,但由于某种原因,对于 IE,它不会在 POST 中发送数据 {email:email, password:pass},或者根本不会发送数据。
我在本地服务器和实时网络服务器上都试过了,结果都一样。
这里使用 IE10。
【问题讨论】:
-
这将很难解决,因为 IE10 仍处于测试阶段。
-
严格来说,
encodeURIComponent调用应该是不必要的,因为 jQuery 会为你做这些。 -
没有使用它,没有解决任何问题。
-
将请求的控制台检查与相同的 IE9 或 IE8 视图进行比较,看看有什么不同。还将错误处理程序添加到 $.ajax。
"not working"提供的信息并不多 -
我可以在我的代码中看到问题(不使用JSON代码,而是使用'object.varible = value'),其他人可以repro。
标签: jquery ajax internet-explorer post internet-explorer-10