Firebug 说请求已通过 200OK 发送到服务器,但 PHP 数组 $_POST 为空。
var pass_data = {
'email':$("#email").val(),
'verifyemail':$("#verifyemail").val(),
'password':$("#password").val(),
'confirm_password':$("#vPassword").val(),
}
$.ajax({
type: "POST",
url: 'localhost/pages/register',
dataType: 'json',
data: pass_data,
});
请求 header :
Accept application/json, text/javascript, */*; q=0.01
Accept-Encoding gzip, deflate
Accept-Language en-US,en;q=0.5
Content-Length 86
Content-Type application/x-www-form-urlencoded; charset=UTF-8
Host localhost
Referer http://localhost/
User-Agent Mozilla/5.0 (Windows NT 6.1; rv:21.0) Gecko/20100101 Firefox/21.0
X-Requested-With XMLHttpRequest
有什么想法吗?
最佳答案
我通常避免在变量声明中直接使用 jQuery 返回值。引用会使解析不一致。建议:
var pass_data = $('form').serialize();
让 jQuery 来完成繁重的工作。
附言刚刚注意到您的 pass_data 变量声明在最后一个元素之后有一个尾随逗号。那是畸形的。您传递给 $.ajax 的对象也存在同样的问题。去掉最后一对尾随的逗号。
关于php - JQuery:Ajax POST 调用不发送数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17429899/