亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

php jsonp單引號(hào)轉(zhuǎn)義

 更新時(shí)間:2014年11月23日 15:58:02   投稿:hebedich  
JSONP(JSON with Padding)是一個(gè)非官方的協(xié)議,他的實(shí)現(xiàn)方式大致就是:讓客戶端決定要回調(diào)的Javascript函數(shù)名,在第三方服務(wù)端將 JSON 數(shù)據(jù)拼裝到回調(diào)函數(shù)名中,返回的就是參數(shù)為JSON數(shù)據(jù)的函數(shù)調(diào)用腳本,瀏覽器加載腳本并執(zhí)行達(dá)到獲取第三方數(shù)據(jù)的目的。

php中jsonp輸出時(shí)一般用下面的格式:

復(fù)制代碼 代碼如下:

callbackname('json string');

如果中間的json string中含有單引號(hào),這個(gè)輸出就是有問(wèn)題的,調(diào)用方一般是無(wú)法處理的,所以我們要對(duì)單引號(hào)進(jìn)行轉(zhuǎn)義。

如果是用json_encode方式生成可以用下面的方式轉(zhuǎn)義:

復(fù)制代碼 代碼如下:

$ret = json_encode($result, JSON_HEX_APOS);
header('Content-Type: text/javascript; charset=utf-8');
echo $callback . '(\'' . $ret . '\');';

這里 JSON_HEX_APOS 是php是提供的把單引號(hào)換為 \u0027 了。

如果是字符串拼接的,可以用下面的方式:

復(fù)制代碼 代碼如下:

$jsonData = preg_replace('/\'/', '\u0027', $jsonData);

然后再輸出。

相關(guān)文章

最新評(píng)論