天天看點

關于jquery中 getJSON跨域通路

jquery1.2之後getJSON支援跨域通路

jquery官網上的例子:

$.getJSON("http://api.flickr.com/services/feeds/photos_public.gne?tags=cat&tagmode=any&format=json&jsoncallback=?",

function(data){

$.each(data.items, function(i,item){

$("<img/>").attr("src", item.media.m).appendTo("#images");

if ( i == 3 ) return false;

});

});

這裡需要注意的是遠端接口的寫法

調用的接口需要對jsoncallback參數進行解析

接口傳回一個匿名函數的調用,與getScript類似

接口可以使用下列傳回函數

//适用于getScript,getJSON調用

function return_data($json_string)

{

$return_data = $json_string;

if (isset($_GET['callback']))

{

$return_data = $_GET['callback']=='?' ? '('.$json_string.')' : $_GET['callback']."($json_string);";

}

echo $return_data;

exit;

}

繼續閱讀