我正在使用ajax JSON发送电子邮件。
代码:
var lookup = {
'name': fname,
'email': email,
'items': [{
'message': message,
'value': itemValue
}]
}
$.ajax({
type: 'post',
url: 'ajax.php',
data: JSON.stringify(lookup),
success: function(data){
alert(data);
},
contentType: 'application/json',
dataType: 'json'
});
我的数据将采用JSON格式
{"name":"Chinmay","email":"xxxxxxxx@gmail.com","items":[{"message":"Bla Bla Bla!!!","value":"100"}]}
在我的ajax.php页面中,如何获取name
,email
,message
和value
?
答案 0 :(得分:1)
由于您将数据发布为JSON,因此您必须反序列化raw post data:
$data = json_decode(file_get_contents("php://input"), true);
echo $data['name'];
...
答案 1 :(得分:0)
那不行。 data
参数需要键 - 值对,因此您可以执行以下操作:
data: {json_string: JSON.stringify(lookup)},
并在php中:
$data_array = json_decode($_POST['json_string']);
虽然通常您只需将表单发送到您的php(如果可能)文件,而无需自己构建数据结构:
data: $('form').serialize(),
然后在php中你可以做类似的事情:
$name = $_POST['fname'];