3

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,

});

请求标头:

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

有任何想法吗?

4

4 回答 4

2

我通常避免在变量声明中直接使用 jQuery 返回值。引用会使解析不一致。建议这样做:

var pass_data = $('form').serialize();

让 jQuery 完成繁重的工作。

PS 刚刚注意到您对 pass_data 的变量声明在最后一个元素之后有一个尾随逗号。那是畸形的。您传递给 $.ajax 的对象也存在同样的问题。去掉最后一对的尾随逗号。

于 2013-07-02T15:53:46.427 回答
1
var pass_data = {
    'email':$("#email").val(),
    'verifyemail':$("#verifyemail").val(),
    'password':$("#password").val(),
    'confirm_password':$("#vPassword").val()
};

$.ajax({
    type: "POST",
    url: 'localhost/pages/register.php',
    dataType: 'json',
    data: {posted_data: pass_data}
});

您应该查看$_POST['posted_data'] on register.php

于 2013-07-02T15:46:39.063 回答
0

抱歉,我的英语说得不太好。

但试着写信console.log(pass_data)以确保你得到 val。

于 2013-07-02T15:47:01.547 回答
-1

Jquery 可以向您显示发送的实际数据,以便您确认数据确实存在。

于 2013-07-02T15:53:06.383 回答