我无法检索作为JSON字符串发送的PHP文件中的值。
JavaScript的:
$(document).ready(function() {
//JavaScript Object
var contact = {
"client_email": $("#cleint_email").val(),
"rep_name": $("#rep_name").val(),
"rep_code": $("#rep_code").val(),
"rep_email": $("#rep_email").val()
}
var contactStr = JSON.stringify(contact);
//AJAX call
$("#btnSend").bind("click", function() {
$.ajax({
type: 'POST',
url: '/myphppage',
data: { contactData: contactStr},
dataType: 'json',
success: function(result) {
alert(result.email);
}
});
});
});
PHP文件(myphppage
):
<?php
$obj = $_POST['contactData'];
echo json_encode( array( "email" => $obj->client_email ) );
?>
没有警报弹出!在PHP文件中检索JSON值的正确方法是什么?
答案 0 :(得分:0)
data: { "contactData": contactStr},
将您的数据属性更改为有引号
你也可以通过data:contact
并使用echo json_encode($_POST);
或者如果你想玩数据$abc['email']=$_POST["client_email"]
等等
echo json_encode($abc);
答案 1 :(得分:0)
您可以使用json_decode
<?php
$obj = json_decode($_POST['contactData'],true);
echo json_encode( array( "email" => $obj['client_email']));
?>
答案 2 :(得分:0)
您需要将JSON对象编码为PHP变量,例如;
$json = '{"foo": 12345}';
$obj = json_decode($json);
print $obj->{'foo'}; // 12345
在你的情况下;
$obj = $_POST['contactData'];
$data = json_decode($obj);
print $data->{'client_email'}