4

我正在尝试实现一个 php 客户端,它将一个 HTTP GET 发送到服务器,该服务器发送一个带有返回信息的 JSON 对象。一旦我的 php 脚本收到它,我就知道如何解码 JSON,但是我将如何实际获取它呢?


编辑:注意 - 我向服务器发送一个 HTTP GET,它会生成并发送回一个 JSON 文件。它不是位于服务器上的文件。

4

2 回答 2

9

查看file_get_contents

$json = file_get_contents('http://somesite.com/getjson.php');
于 2012-04-18T20:03:24.823 回答
2

浏览器根据服务器的响应采取不同的行动。您向服务器发出什么类型的请求(GET、POST 等)并不重要,但要返回 JSON 作为响应,您必须在发出请求的脚本中设置标头:

header('Content-Type: application/json;charset=utf-8;');

然后回显 JSON 字符串,例如:

//...populating your result data array here...//
// Print out the JSON formatted data
echo json_encode($myData);

然后,用户代理将获取 JSON 字符串。如果 AJAX 发出请求,那么您可以简单地将结果解析为您可以处理的 JavaScript 对象,如下所示:

//...AJAX request here...//
// Parse result to JavaScript object
var myData=JSON.parse(XMLHttp.responseText);

标头本身并不是真正必要的,但它是一种很好的做法。JSON.parse() 无论如何都可以解析响应。

于 2012-04-18T20:14:50.077 回答