从php脚本返回JSON对象

时间:2016-07-07 10:56:29

标签: javascript php jquery ajax

我正在使用jQuery向PHP文件发出AJAX GET请求。我希望PHP脚本返回一个JSON对象,但是,目前它正在返回一个JSON字符串。我意识到我可以在jQuery代码中使用JSON.parse,但是,我在返回一个JSON对象的API的AJAX调用方面的经验。我试图用php脚本做同样的事情,但它返回一个字符串而不是一个对象。

有没有人知道这里的最佳做法是什么,如果最佳做法是返回JSON对象,我将如何使用PHP执行此操作?

请参阅以下代码:

JS

$.get('test.php', function(data){
    console.log((data));
});

PHP

<?php

$jsonAnswer = array('test' => 'true');
echo json_encode($jsonAnswer);

3 个答案:

答案 0 :(得分:7)

在PHP文件中,将内容类型更改为application/json

<强> JS

$.get('/process.php', function(data) {      
    console.log(data);
} );

<强> PHP

<?php

    header( "Content-type: application/json" );

    $jsonAnswer = array('test' => 'true');
    echo json_encode($jsonAnswer);

然后你的控制台应该读取Object {test: "true"}而不只是JSON字符串。

答案 1 :(得分:2)

将json添加到get函数的末尾以返回json

$.get('test.php', function(data){
    console.log((data));
},'json');//here

和/或在php中添加此标题

header('Content-Type: application/json');

更多信息here

答案 2 :(得分:0)

无需修改PHP脚本即可:

$.get( "test.php", function( data ) {
 var arr = $.parseJSON(data);
 console.log(arr);
 alert(arr.test);
});