Jsonp(JSON with Padding) 是 json 的一種"使用模式",可以讓網頁從別的域名(網站)那獲取資料,即跨域讀取數據。
為什么我們從不同的域(網站)訪問數據需要一個特殊的技術(JSONP )呢?這是因為同源策略。
同源策略,它是由Netscape提出的一個著名的安全策略,現在所有支持JavaScript 的瀏覽器都會使用這個策略。
首先:jsonp是json用來跨域的一個東西。
原理是通過script標簽的跨域特性來繞過同源策略。
經過測試實驗:
發送端:
$.ajax({type : "post",url : "ajax.php",dataType : "jsonp",jsonp: "callback",//傳遞給請求處理程序或頁面的,用以獲得jsonp回調函數名的參數名(默認為:callback)jsonpCallback:"jsonpcallback",//自定義的jsonp回調函數名稱,默認為jQuery自動生成的隨機函數名success : function(json){alert('success');},error:function(){alert('fail');}});
服務器端(php):
<?php$data = "aaa";$callback = $_GET['callback'];echo $callback.'('.json_encode($data).')';exit;?>
新聞熱點
疑難解答