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
有什么想法吗?
答案 0 :(得分:2)
我通常避免在变量声明中直接使用jQuery返回值。引用可能使解析不一致。建议:
var pass_data = $('form').serialize();
让jQuery做繁重的工作。
P.S。刚注意到你的pass_data的变量声明在最后一个元素之后有一个尾随逗号。那是不正确的。与传递给$ .ajax的对象相同的问题。摆脱最后一对的尾随逗号。
答案 1 :(得分: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}
});
您应该在register.php
上查看 $ _ POST ['posted_data'] 。
答案 2 :(得分:0)
对不起,我不会说英语。
但是请尝试写console.log(pass_data)
以确保获得val。
答案 3 :(得分:-1)
Jquery可以显示发送的实际数据,以便您确认数据实际存在。