无法检索远程json数据

时间:2010-10-01 01:18:02

标签: php json

我有我的json数据here: 我无法将数据从我自己的网站调用到我的本地网站。 当我将同一个文件复制到本地根目录时,它可以工作。 我更改了远程文件的chmod并添加了一些标题,但没有更改。有什么想法吗?

3 个答案:

答案 0 :(得分:1)

我想这是因为禁止在JavaScript中使用跨站点脚本。对于远程调用,您可以使用JSONP或创建一个代理,该代理只使用curl来抓取内容。

答案 1 :(得分:0)

假设您收到回复(否则应该是您设置allow_url_fopen的问题):

你得到的不是常规的JSON,你的JSON被圆括号包围。

此外,你应该提供JSON utf8编码,否则你会遇到问题,如果里面有非ASCII字符。

答案 2 :(得分:0)

伙计们,我看到问题是我没有使用jsoncallback =?

js代码

$.getJSON('http://geryit.com/_gazel/reviews_json.php?jsoncallback=?',{pid:1},function(data){
    if(data.length){
        for(i=0;i<data.length;i++){
            console.log(data[i].title);
        }
    }
});

这是

php代码

include "db.php";
$pid = $_GET["pid"];
$q= mysql_query("select * from reviews where pid = $pid");
$reviews = array();
while($r = mysql_fetch_array($q)) $reviews[] = $r;
$reviews = json_encode($reviews);
echo $_GET["jsoncallback"]."(".$reviews.")";

感谢您的回复。