摘要:是什么說實話,我學了這么久,其實也沒有好好了解這個東西,當然平常自己在前端方面也涉獵較淺。是什么是的一種使用模式,可用于解決主流瀏覽器的跨域數據訪問的問題。有效避免了直接向遠程服務器請求數據
JSONP 是什么
說實話,我學了這么久,其實也沒有好好了解這個東西,當然平常自己在前端方面也涉獵較淺。
1) jsonp 是什么JSONP(JSON with Padding)是JSON的一種“使用模式”,可用于解決主流瀏覽器的 跨域 數據訪問的問題。
跨域? 由于同源策略的原因,也就是說你請求資源時,瀏覽器對于不是你當前域名或者端口號都相同的地址給與禁止訪問,不允許你獲取資源
同源策略:
examle.com:8080 與 examle.com:9090 不同源
examle.com:8080 與 examle.com:9090 不同源
a.examle.com 與 examle.com 不同源
2) 如何解決同源策略帶來的問題瀏覽器中對"); //2) $.ajax({ url : "http://localhost/jsonp/service.php", type: "GET", dataType: "jsonp", jsonp: "jsonp", // 自定義,保證后端能通過這個key值獲取函數名 jsonpCallback: "showdata",//自定義的jsonp回調函數名稱 success: function (json) { alert("success"); }, error: function () { alert("fail"); } }) }) -------------------- header("Content-type: application/json"); //獲取回調函數名 $jsonp = htmlspecialchars($_REQUEST ["jsonp"]); //json數據 $json_data = "["customername1","customername2"]"; //輸出jsonp格式的數據 echo $jsonp . "(" . $json_data . ")"; // 格式進行拼接,得到showdata(["customername1","customername2"]); --------------
由此可見,其實就是遠程服務器代前端處理了相關函數,通過返回一個帶參數的函數表達式,來進行執行相關邏輯代碼。 有效避免了直接向遠程服務器請求數據
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/29540.html
摘要:因為同源策略的限制,我們不能在與外部服務器進行通信的時候使用。這個是跨域服務器取數據的接口,參數為回調函數的名字,返回的格式為原理首先在客戶端注冊一個然后把的名字傳給服務器。 一、同源策略 同源策略,它是由Netscape提出的一個著名的安全策略,現在所有的可支持javascript的瀏覽器都會使用這個策略。 為什么需要同源策略,這里舉個例子: 假設現在沒有同源策略,會發生什么事...
摘要:是一種協議,為了解決客戶端請求服務器跨域的問題,但是并非是正式的傳輸協議。結果明明請求回來數據,結果還是報錯。是一種使用數據的方式,返回的不是對象,是包含對象的腳本。 1、什么是JSONP 一般來說位于 server1.example.com 的網頁無法與不是 server1.example.com的服務器溝通,而 HTML 的 元素是一個例外。利用 元素的這個開放策略,網頁可以得到...
摘要:因為有同源策略,而在實際開發中又常常會有跨域的需求,早期開發者為了解決跨域問題而搞出來這樣一個頗為奇怪的東西。安全早期的瀏覽器處于安全層面的考量,制定同源策略,限制了一個源中加載文本或腳本與來自其它源中資源的交互方式。 AJAX、JSON、JSONP 在 WEB 開發中,經常見到諸如 AJAX、JSON、JSONP 這些名詞。三者看起來很像,很多同學尤其是沒有系統了解過前端技術體系的同...
閱讀 2556·2021-09-22 15:25
閱讀 2963·2021-09-14 18:03
閱讀 1212·2021-09-09 09:33
閱讀 1700·2021-09-07 09:59
閱讀 2930·2021-07-29 13:50
閱讀 1500·2019-08-30 15:44
閱讀 1715·2019-08-29 16:22
閱讀 1287·2019-08-29 12:49