我一直在努力整整一天,我似乎无法通过使用$ .ajax函数发送通过JSON对象到PHP文件的权利。我最终发现它是正确的,但现在它拒绝解码。
// JQuery的文件
var user =
{
"email" : document.getElementById('email1').value,
"password" : document.getElementById('pwd1').value,
"fname" : document.getElementById('firstname').value,
"lname" : document.getElementById('lastname').value,
"gender" : Validator.getGender(),
"dob" : document.getElementById('dob').value
};
JSON.stringify(user);
user = {json:user};
$.ajax({
type: "POST",
url: "register.php",
dataType: 'json',
data: user,
success: function(result)
{
alert("It worked :D");
alert(result);
},
failure: function()
{
alert('whoops');
}
});
// PHP文件
<?php
$json = $_REQUEST['json'];
$json = stripslashes($json);
$jsonobj = json_decode($json);
$fname = $jsonobj->fname;
$lname = $jsonobj->lname;
$password = $jsonobj->password;
$email = $jsonobj->email;
$gender = $jsonobj->gender;
$dob = $jsonobj->dob;
echo $gender;
?>
我做的东西完全傻了?我只是回应了性别变量,但实际上我会用它来将它输入到数据库中。
感谢提前:)
编辑:
会如何,如果我的PHP文件看起来像这样,将它的工作:
session_start();
$db = mysql_connect("localhost", "root");
if(!$db)
{
die("DB connection failed: " . mysql_error());
}
$db_select = mysql_select_db("tinyspace", $db);
if(!$db_select)
{
die("DB connection failed: " . mysql_error());
}
$json_string = $_REQUEST["json"];
$jsonobj = json_decode($_REQUEST["json"]);
$fname = $jsonobj -> fname;
$lname = $jsonobj -> lname;
$pwd = $jsonobj -> password;
$email = $jsonobj -> email;
$gender = $jsonobj -> gender;
$dob = $jsonobj -> dob;
$sql("INSERT INTO tinyspace.users (email, password, firstname, lastname, gender, dob) VALUES ('$email','$password','$fname', '$lname','$gender','$dob')");
if (!mysql_query($sql,$db))
{
die('Error: ' . mysql_error());
}
mysql_close($db);
数据类型参数定义的典型e数据,你期待回来,而不是你发送到服务器的类型,只是删除,让JQuery分析服务器响应 – sdespont