7/80—
layout: JSONP 的工作原理
title: JSONP 的工作原理
date: 2017-11-15 21:06:47
根據瀏覽器同源策略,所謂同源就是協議、主機、端口號都相同時成為同源。a 域的js不能直接訪問 b域名的信息,但是script 標簽的src屬性可以跨域引用文件,jsonp是請求之後後台包裝好一段json,並且把數據放在一個callback函數,返回一個js文件,動態引入這個文件,下載完成js之後,會去調用這個callback,通過這樣訪問數據。
2. JSONP有什麽用由於同源從略的限製,XMLHttpRequest隻允許請求前源(域名、協議、端口)的資源,為了實現跨域請求,可以通過script標簽實現跨域請求,然後再服務端輸出JSON數據並執行回調函數,從而解決跨域數據請求
3. 如何使用JSONP HTML代碼PHP代碼
4. JSONP原理
首先在客戶端注冊一個callback,然後把callback的名字傳給服務器。此時,服務器先生成json數據,然後以javascript語法的方式,生成function,function名字就是傳遞上來I帶參數jsonp。最後將json數據直接以入參的方式,放置function中,這樣就生成js語法的文檔,返回給客戶端。客戶端瀏覽器,解析script變遷,並執行返回javascript文檔,此時數據作為參數,傳入了客戶端預先定義好的callback函數裏。
簡單的說,就是利用script標簽沒有跨域限製的“漏洞”來達到與第三方通訊的目的。