摘要:是什么說實話,我學了這么久,其實也沒有好好了解這個東西,當然平常自己在前端方面也涉獵較淺。是什么是的一種使用模式,可用于解決主流瀏覽器的跨域數(shù)據(jù)訪問的問題。有效避免了直接向遠程服務器請求數(shù)據(jù)
JSONP 是什么
說實話,我學了這么久,其實也沒有好好了解這個東西,當然平常自己在前端方面也涉獵較淺。
1) jsonp 是什么JSONP(JSON with Padding)是JSON的一種“使用模式”,可用于解決主流瀏覽器的 跨域 數(shù)據(jù)訪問的問題。
跨域? 由于同源策略的原因,也就是說你請求資源時,瀏覽器對于不是你當前域名或者端口號都相同的地址給與禁止訪問,不允許你獲取資源
同源策略:
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值獲取函數(shù)名 jsonpCallback: "showdata",//自定義的jsonp回調(diào)函數(shù)名稱 success: function (json) { alert("success"); }, error: function () { alert("fail"); } }) }) -------------------- header("Content-type: application/json"); //獲取回調(diào)函數(shù)名 $jsonp = htmlspecialchars($_REQUEST ["jsonp"]); //json數(shù)據(jù) $json_data = "["customername1","customername2"]"; //輸出jsonp格式的數(shù)據(jù) echo $jsonp . "(" . $json_data . ")"; // 格式進行拼接,得到showdata(["customername1","customername2"]); --------------
由此可見,其實就是遠程服務器代前端處理了相關函數(shù),通過返回一個帶參數(shù)的函數(shù)表達式,來進行執(zhí)行相關邏輯代碼。 有效避免了直接向遠程服務器請求數(shù)據(jù)
文章版權歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://specialneedsforspecialkids.com/yun/98415.html
摘要:因為同源策略的限制,我們不能在與外部服務器進行通信的時候使用。這個是跨域服務器取數(shù)據(jù)的接口,參數(shù)為回調(diào)函數(shù)的名字,返回的格式為原理首先在客戶端注冊一個然后把的名字傳給服務器。 一、同源策略 同源策略,它是由Netscape提出的一個著名的安全策略,現(xiàn)在所有的可支持javascript的瀏覽器都會使用這個策略。 為什么需要同源策略,這里舉個例子: 假設現(xiàn)在沒有同源策略,會發(fā)生什么事...
摘要:是一種協(xié)議,為了解決客戶端請求服務器跨域的問題,但是并非是正式的傳輸協(xié)議。結果明明請求回來數(shù)據(jù),結果還是報錯。是一種使用數(shù)據(jù)的方式,返回的不是對象,是包含對象的腳本。 1、什么是JSONP 一般來說位于 server1.example.com 的網(wǎng)頁無法與不是 server1.example.com的服務器溝通,而 HTML 的 元素是一個例外。利用 元素的這個開放策略,網(wǎng)頁可以得到...
摘要:因為有同源策略,而在實際開發(fā)中又常常會有跨域的需求,早期開發(fā)者為了解決跨域問題而搞出來這樣一個頗為奇怪的東西。安全早期的瀏覽器處于安全層面的考量,制定同源策略,限制了一個源中加載文本或腳本與來自其它源中資源的交互方式。 AJAX、JSON、JSONP 在 WEB 開發(fā)中,經(jīng)常見到諸如 AJAX、JSON、JSONP 這些名詞。三者看起來很像,很多同學尤其是沒有系統(tǒng)了解過前端技術體系的同...
閱讀 1319·2021-11-24 09:38
閱讀 3256·2021-11-22 12:03
閱讀 4158·2021-11-11 10:59
閱讀 2317·2021-09-28 09:36
閱讀 1032·2021-09-09 09:32
閱讀 3411·2021-08-05 10:00
閱讀 2528·2021-07-23 15:30
閱讀 2973·2019-08-30 13:12