如何使用PHP访问AJAX返回的数据?

时间:2015-05-26 08:19:43

标签: javascript php jquery ajax json

我有这样的数据结构,然后用AJAX返回到另一个文件:

$data = array();
   $data['message'] = "You are searching: $domain!";
   $data['domain:name'] = "domain.tld";
   $data['domain:registrar'] = "Registrar Ltd.";
   $data['domain:creation'] = "2015-26-05";
   $data['domain:expiry'] = "2016-26-05";
   $data['ns'] = "ns1.somedns.tld";
   $data['owner']['name'] = "Owner Name";
   $data['owner']['type'] = "Org";
   echo json_encode($data);

然后将这些数据附加到带有AJAX的html:

$.ajax({
        type: 'POST',
        url: 'carnetEpp.php',
        data: $(this).serialize(),

        success: function (data) {
            dataType: 'json',
            //console.log(data);
            $('#response').html(data);
            $("#myModal").modal();
        }
    });

现在我想将返回的JSON对象传递给PHP变量,这样我就可以轻松地用PHP操作日期了。我怎么做?或者最好的做法是用JS做到这一点?基本上我想要打印每个键:对值,所以也许对于in是不错的选择。

并且,我不确定,是否应该或者必须在我的脚本中回显数据,以便AJAX可以接收它,或者我可以将数据传递给变量然后在AJAX中获取它吗?

2 个答案:

答案 0 :(得分:0)

您需要成功添加此代码。

var obj = jQuery.parseJSON(data);
alert(obj.message);

OR

var obj = $.parseJSON(data);
alert(obj.message);

您将收到PHP发送的消息。

答案 1 :(得分:0)

在php中发送数据之前,设置标题为响应:

    $data = [
        'key' => 'value',
        'key2' => 'vlue2'
    ];

    header('Content-Type: application/json');
    echo json_encode($data);

然后,如果你使用jquery,$.getJson()它真的很酷的句柄输入json数据的解决方案。