使用PHP获取并传递Json文件

时间:2015-07-27 12:22:36

标签: php ajax json

我在服务器中有一个Json文件:

file.json

{"max":"512", "min":"1", ...

我通过ajax调用得到它:

$.ajax({                                      
    url: 'load_json.php',
    type: "POST",
    data: { id: id },
    dataType: 'json',
    success: function(resp) {
        console.log(resp.json.max);
    }
});

其中 load_json.php 是:

    $json = file_get_contents("file.json");
    $response = array('json' => $json);
    echo json_encode($response);

但是在控制台中我得到 undefined 。为什么呢?

可能的解决方案是:

$response = array('json' => json_decode($json));

这是最有效的解决方案吗?

1 个答案:

答案 0 :(得分:0)

在你的php中你正在读取file.json作为一个字符串,然后这个字符串放入数组,所以javascript无法将其解析为一个合适的json对象。在php代码中使用json_decode函数:

$json = file_get_contents("file.json");
$response = array('json' => json_decode($json)); //here
echo json_encode($response);

或:

$json = file_get_contents("file.json");
$response = '{"json":' . $json . '}'; //here
echo $response;

但使用第一种解决方案。