3

我已经尝试解决这个问题很长时间了,现在知道为什么它不可能了。网址

http://twittercounter.com/api/?username=Anand_Dasgupta&output=json&results=3

返回一个 json,但是当我附加一个“&callback=get”时,它没有指定回调包装函数。

所以现在唯一的解决方案是手动围绕 json 数据构建一个包装器。

我的问题是我该怎么做。php/javascript 中是否已经存在一些代码,我可以根据我的规范进行更改。

任何建议将被认真考虑。

谢谢你

阿南德

4

1 回答 1

3

那么 JSONP 的目的是将 JSON(将在客户端评估为 JavaScript)包装到只有请求数据的客户端知道的回调中。这可以防止客户端执行不需要的 JavaScript 代码。如果没有回调,您将遇到相同的源策略问题(JSONP 解决了该问题),因此您只能请求脚本来自的 URL。

基本上,您必须使用 PHP 附加回调,这意味着在服务器端,使用代理脚本。该脚本从另一个 URL 检索数据并将其包装到回调中:

<?php
    // Don't know on the fly how to request data from another URL in PHP, but it's easy to find out
    $response = request_url('http://twittercounter.com/api/?username=Anand%5FDasgupta&output=json&results=3');
    echo $_GET['callback'] . '(' . $response . ')';
?>
于 2009-07-02T15:37:28.463 回答