锘??xml version="1.0" encoding="utf-8" standalone="yes"?> 1.JSONP錛圝SON with
Padding-濉厖json鏁版嵁涔熷氨鏄父鐢ㄧ殑json璺ㄥ煙鏂瑰紡錛夛細(xì)鍒╃敤script鏍囩錛岄氳繃鐗瑰畾鐨剆rc鍦板潃鐨勮皟鐢紝鏉ユ墽琛屼竴涓鎴風(fēng)鐨刯s鍑芥暟錛屽湪
鏈嶅姟鍣ㄧ鐢熸垚鐩稿鐨勬暟鎹紙json鏍煎紡錛夊茍浠ュ弬鏁扮殑褰㈠紡浼犻掔粰榪欎釜瀹㈡埛绔殑js鍑芥暟騫舵墽琛岃繖涓嚱鏁幫紝鍓嶆彁鏄渶瑕佹湇鍔″櫒绔殑鏁版嵁杈撳嚭鏀寔銆?nbsp; 2.涓轟粈涔堜嬌鐢↗SONP錛氱敱浜?JSON 鍙槸涓縐嶅惈鏈夌畝鍗曟嫭鍙風(fēng)粨鏋勭殑綰枃鏈紝鍥犳璁稿閫氶亾閮藉彲浠ヤ氦鎹?JSON
娑堟伅銆傚洜涓哄悓婧愮瓥鐣ョ殑闄愬埗錛屾垜浠笉鑳藉湪涓庡閮ㄦ湇鍔″櫒榪涜閫氫俊鐨勬椂鍊欎嬌鐢?
XMLHttpRequest銆傝孞SONP鏄竴縐嶅彲浠ョ粫榪囧悓婧愮瓥鐣ョ殑鏂規(guī)硶錛屽嵆閫氳繃浣跨敤 JSON 涓?<script>
鏍囪鐩哥粨鍚堢殑鏂規(guī)硶錛屼粠鏈嶅姟绔洿鎺ヨ繑鍥炲彲鎵ц鐨凧avaScript鍑芥暟璋冪敤鎴栬匤avaScript瀵硅薄銆?nbsp; 3.璋佸湪浣跨敤JSONP錛歞ojo銆丣Query銆乊outube GData API 銆丟oogle Social Graph API 銆丏igg API 銆丟eoNames webservice銆佽眴鐡PI銆丏el.icio.us JSON API絳夈?/p>
------------------------------------------------------------------------------------------------ a.html <html> profile2.php <?php //php鏁扮粍 $arr = gb2312ToUtf8($arr);//涓枃闇瑕佽漿UTF-8 function gb2312ToUtf8(&$input) ?> 浣犲彲鑳芥敞鎰忓埌涓婇潰鐨勪緥瀛愪腑錛寀rl 琚啓鎴愪簡http://active.zol.com.cn/guofeng/profile2.php?callback=?錛岄渶瑕佽鏄庣殑鏄紝榪欎釜闂彿浼?xì)琚?jQuery 鑷姩鏇挎崲涓哄洖璋冨嚱鏁扮殑鍑芥暟鍚嶏紙濡傛灉鏄竴涓尶鍚嶅嚱鏁幫紝JQuery 浼?xì)鑷姩鐢熸垚涓涓甫鏃墮棿鎴崇殑鍑芥暟鍚嶏級(jí)銆?/p>
鎬葷粨涓婮SONP鍘熺悊錛?/strong> 棣栧厛鍦ㄥ鎴風(fēng)娉ㄥ唽涓涓猚allback, 鐒跺悗鎶奵allback鐨勫悕瀛椾紶緇欐湇鍔″櫒銆?/p>
姝ゆ椂錛屾湇鍔″櫒鍏堢敓鎴?json 鏁版嵁銆?nbsp; 鐒跺悗浠?javascript 璇硶鐨勬柟寮忥紝鐢熸垚涓涓猣unction , function 鍚嶅瓧灝辨槸浼犻掍笂鏉ョ殑鍙傛暟 jsonp. 鏈鍚庡皢 json 鏁版嵁鐩存帴浠ュ叆鍙傜殑鏂瑰紡錛屾斁緗埌 function 涓紝榪欐牱灝辯敓鎴愪簡涓孌?js 璇硶鐨勬枃妗o紝榪斿洖緇欏鎴風(fēng)銆?/p>
瀹㈡埛绔祻瑙堝櫒錛岃В鏋恠cript鏍囩錛屽茍鎵ц榪斿洖鐨?javascript 鏂囨。錛屾鏃舵暟鎹綔涓哄弬鏁幫紝浼犲叆鍒頒簡瀹㈡埛绔鍏堝畾涔夊ソ鐨?callback 鍑芥暟閲?錛堝姩鎬佹墽琛屽洖璋冨嚱鏁幫級(jí) 杞嚜:http://blog.zol.com.cn/859/article_858048.html
$.cookie('the_cookie', null); //鍒犻櫎涓涓猚ookie
]]>
鍜?AJAX 涓鏍鳳紝JSONP 瀹為檯涓婁篃鏄棭宸插瓨鍦紝鍙槸璇存硶鐩稿姣旇緝鏂伴錛堣矊浼間篃鍑烘潵寰堜箙浜嗭級(jí)銆傝嚜 1.2 鐗堟湰璧鳳紝JQuery鍔犲叆浜嗗 JSONP 鐨勬敮鎸侊紙http://docs.jquery.com/Ajax/jQuery.getJSON#urldatacallback錛夈傛垜浠彲浠ュ緢瀹規(guī)槗鐨勫埄鐢?$.getJSON() 鏂規(guī)硶錛堟垨鑰呭叾瀹冨熀浜?$.ajax() 鐨勬柟娉曪級(jí)錛屾潵璺ㄥ煙鍔犺澆 JSON 鏁版嵁銆傛垜鍙傝冨畼緗戯紝鍐欎簡涓狫Q嫻嬭瘯鐨勪緥瀛愶細(xì)
<head>
<script src=">
</head>
<body>
<script type="text/javascript">
function do_jsonp() {
$.getJSON("
function(data) {
$('#result').val('My name is: ' + data.nick);
});
}
</script>
<a href="javascript :do_jsonp();">Click me</a><br />
<textarea id="result" cols="50" rows="3"></textarea>
</body>
</html>
$callback = isset($_GET['callback']) ? $_GET['callback'] : '';
$json = '';
$arr = array(
'name' => 'lava',
'nick' => '姣旂洰楸?,
'contact' => array(
'MSN' => 'lavaguo#msn.com',
'email' => 'guo.feng#zol.com.cn',
'website' => 'http://www.zol.com.cn',
)
);
$json = json_encode($arr);//杞垚json鏁扮粍
if (!empty($callback)) {
$json = $callback . '(' . $json . ')';//娉ㄦ剰榪欓噷鐨勬牸寮忥紝璋冭瘯鏃惰繖閲岃垂浜嗙偣鏃墮棿
}
echo $json;
{
if (!is_array($input)) {
$input = iconv('GB2312', 'UTF-8', $input);
} else {
foreach ($input as $k=>$v) {
gb2312ToUtf8(&$input["$k"]);
}
}
return $input;
}
]]>