国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > JavaScript > 正文

Jsonp 跨域的原理以及Jquery的解決方案

2019-11-21 00:29:44
字體:
來源:轉載
供稿:網友
原理:JSONP即JSON with Padding。由于同源策略的限制,XmlHttpRequest只允許請求當前源(域名、協議、端口)的資源。如果要進行跨域請求,我們可以通過使用html的script標記來進行跨域請求,并在響應中返回要執行的script代碼,其中可以直接使用JSON傳遞javascript對象。這種跨域的通訊方式稱為JSONP。
個人理解:

就是在客戶端動態注冊一個函數function a(data),然后將函數名傳到服務器,服務器返回一個a({/*json*/})到客戶端運行,這樣就調用客戶端的function a(data),從而實現了跨域.
復制代碼 代碼如下:

<!DOCTYPE html PUBLIC "-//W//DTD XHTML Transitional//EN" "http://www.worg/TR/xhtmlDTD/xhtmltransitional.dtd">
<html xmlns="http://www.worg/xhtml" >
<head>
<title>Test Jsonp</title>
<script src="http://ajax.microsoft.com/ajax/jquery/jquery-1.4.2.js" type="text/javascript"></script>
<script type="text/javascript">
function jsonpCallback(result)
{
$.each(result.items, function(i,item){
$("<img/>").attr("src", item.media.m).appendTo("body");
if ( i == 3 ) return false;
});
}
</script>
</head>
<body>
<script type="text/javascript" src="http://api.flickr.com/services/feeds/photos_public.gne?tags=cat&tagmode=any&format=json&jsoncallback=jsonpCallback"></script>
</body>
</html>


jQuery的解決方案:
復制代碼 代碼如下:

<!DOCTYPE html PUBLIC "-//W//DTD XHTML Transitional//EN" "http://www.worg/TR/xhtmlDTD/xhtmltransitional.dtd">
<html xmlns="http://www.worg/xhtml" >
<head>
<title>Test Jsonp</title>
<script src="http://ajax.microsoft.com/ajax/jquery/jquery-1.4.2.js" type="text/javascript"></script>
<script type="text/javascript">
$(function() {
$.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("body");
if (i == 3) return false;
});
});
});
</script>
</head>
<body></body>
</html>


jquery 的jsoncallback是動態生成的,真正請求服務器的地址:http://api.flickr.com/services/feeds/photos_public.gne?tags=cat&tagmode=any&format=json&jsoncallback=jsonp1274058545738
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 胶州市| 延长县| 邓州市| 新龙县| 安庆市| 商丘市| 祁东县| 班玛县| 光山县| 韩城市| 茂名市| 石嘴山市| 桐梓县| 望江县| 石林| 正宁县| 汉中市| 太仓市| 南通市| 河北省| 麻栗坡县| 桂平市| 嵊州市| 高雄县| 政和县| 阿克陶县| 丹棱县| 朝阳区| 郸城县| 随州市| 永福县| 犍为县| 英德市| 海口市| 呼玛县| 兰坪| 达拉特旗| 庆元县| 六安市| 阿鲁科尔沁旗| 综艺|