跨域請求
阿新 • • 發佈:2017-07-04
object php 格式 網頁 bsp type console main origin
一、jsonp
JSON(JavaScript Object Notation)和JSONP(JSON with Padding):將json格式數據以function包裹起來,通過script標簽發生至後臺,並且返回接受數據
//通過script標簽引入一個文件,這個文件載入成功後會執行我們在url參數中指定的函數,並且會把我們需要的json數據作為參數傳入。所以jsonp是需要服務器端的頁面進行相應的配合的。
1. callback參數 為方法名
//方法在跨域訪問鏈接<script src="http://test.com/07cross_domain.php?callback=username"> <//script>的前面
function username(data){ console.log(data);//[1, 2, "username"] } <script src="http://test.com/07cross_domain.php?callback=username"> <//script>
2.jquery 封裝jsonp 實現跨域訪問
$.getJSON(‘http://test.com/07cross_domain.php?callback=?‘,function(data){ console.log(data);//[1, 2, "jQuery111308241057162129959_1460185199870"]})
二、iframe或img標簽跨域
其實jsonp是依靠 script標簽跨域
三、Proxy後臺代理
例如:PHP通過Cur模塊 l實現網頁代理proxy
四、同源機制 CORS(Access-Control-Allow-Origin)
// 指定允許其他域名訪問 header(‘Access-Control-Allow-Origin:*‘); // 響應類型 header(‘Access-Control-Allow-Methods:POST‘); // 響應頭設置 header(‘Access-Control-Allow-Headers:x-requested-with,content-type‘);
跨域請求