2010-10-01 54 views
0

我有我的json數據here: 我無法從我自己的網站向我的本地站點調用數據。 當我將同一個文件複製到本地根目錄時,它工作。 我改變了遠程文件的chmod並添加了一些頭文件但沒有改變。有任何想法嗎?無法檢索遠程json數據

+0

你正在使用的代碼在哪裏? – NullUserException 2010-10-01 01:19:00

回答

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.")"; 

感謝您的答覆。

0

假設,你會得到一個響應(否則它應該是你的了allow_url_fopen的設置的問題):

你什麼也沒有正規JSON,你的JSON被括號括起來。

此外,你應該提供JSON utf8編碼,否則你會遇到問題,如果有非ASCII字符裏面。

1

我想這是因爲JavaScript中的跨站點腳本被禁止。對於遠程調用,您可以使用JSONP或創建一個只需使用curl抓取內容的代理。

+0

這不會被標記爲javascript – 2010-10-01 03:50:15

+0

JSON代表JavaScript Object Notation,所以我猜JavaScript涉及到這個問題。 – Nazariy 2010-10-01 04:47:53