摘要:是什么說實(shí)話,我學(xué)了這么久,其實(shí)也沒有好好了解這個(gè)東西,當(dāng)然平常自己在前端方面也涉獵較淺。是什么是的一種使用模式,可用于解決主流瀏覽器的跨域數(shù)據(jù)訪問的問題。有效避免了直接向遠(yuǎn)程服務(wù)器請(qǐng)求數(shù)據(jù)
JSONP 是什么
說實(shí)話,我學(xué)了這么久,其實(shí)也沒有好好了解這個(gè)東西,當(dāng)然平常自己在前端方面也涉獵較淺。
1) jsonp 是什么JSONP(JSON with Padding)是JSON的一種“使用模式”,可用于解決主流瀏覽器的 跨域 數(shù)據(jù)訪問的問題。
跨域? 由于同源策略的原因,也就是說你請(qǐng)求資源時(shí),瀏覽器對(duì)于不是你當(dāng)前域名或者端口號(hào)都相同的地址給與禁止訪問,不允許你獲取資源
同源策略:
examle.com:8080 與 examle.com:9090 不同源
examle.com:8080 與 examle.com:9090 不同源
a.examle.com 與 examle.com 不同源
2) 如何解決同源策略帶來的問題瀏覽器中對(duì)"); //2) $.ajax({ url : "http://localhost/jsonp/service.php", type: "GET", dataType: "jsonp", jsonp: "jsonp", // 自定義,保證后端能通過這個(gè)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 . ")"; // 格式進(jìn)行拼接,得到showdata(["customername1","customername2"]); --------------
由此可見,其實(shí)就是遠(yuǎn)程服務(wù)器代前端處理了相關(guān)函數(shù),通過返回一個(gè)帶參數(shù)的函數(shù)表達(dá)式,來進(jìn)行執(zhí)行相關(guān)邏輯代碼。 有效避免了直接向遠(yuǎn)程服務(wù)器請(qǐng)求數(shù)據(jù)
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://www.ezyhdfw.cn/yun/29540.html
摘要:是什么說實(shí)話,我學(xué)了這么久,其實(shí)也沒有好好了解這個(gè)東西,當(dāng)然平常自己在前端方面也涉獵較淺。是什么是的一種使用模式,可用于解決主流瀏覽器的跨域數(shù)據(jù)訪問的問題。有效避免了直接向遠(yuǎn)程服務(wù)器請(qǐng)求數(shù)據(jù) JSONP 是什么 說實(shí)話,我學(xué)了這么久,其實(shí)也沒有好好了解這個(gè)東西,當(dāng)然平常自己在前端方面也涉獵較淺。 1) jsonp 是什么 JSONP(JSON with Padding)是JSON的一...
摘要:因?yàn)橥床呗缘南拗疲覀儾荒茉谂c外部服務(wù)器進(jìn)行通信的時(shí)候使用。這個(gè)是跨域服務(wù)器取數(shù)據(jù)的接口,參數(shù)為回調(diào)函數(shù)的名字,返回的格式為原理首先在客戶端注冊一個(gè)然后把的名字傳給服務(wù)器。 一、同源策略 同源策略,它是由Netscape提出的一個(gè)著名的安全策略,現(xiàn)在所有的可支持javascript的瀏覽器都會(huì)使用這個(gè)策略。 為什么需要同源策略,這里舉個(gè)例子: 假設(shè)現(xiàn)在沒有同源策略,會(huì)發(fā)生什么事...
摘要:是一種協(xié)議,為了解決客戶端請(qǐng)求服務(wù)器跨域的問題,但是并非是正式的傳輸協(xié)議。結(jié)果明明請(qǐng)求回來數(shù)據(jù),結(jié)果還是報(bào)錯(cuò)。是一種使用數(shù)據(jù)的方式,返回的不是對(duì)象,是包含對(duì)象的腳本。 1、什么是JSONP 一般來說位于 server1.example.com 的網(wǎng)頁無法與不是 server1.example.com的服務(wù)器溝通,而 HTML 的 元素是一個(gè)例外。利用 元素的這個(gè)開放策略,網(wǎng)頁可以得到...
摘要:因?yàn)橛型床呗?,而在?shí)際開發(fā)中又常常會(huì)有跨域的需求,早期開發(fā)者為了解決跨域問題而搞出來這樣一個(gè)頗為奇怪的東西。安全早期的瀏覽器處于安全層面的考量,制定同源策略,限制了一個(gè)源中加載文本或腳本與來自其它源中資源的交互方式。 AJAX、JSON、JSONP 在 WEB 開發(fā)中,經(jīng)常見到諸如 AJAX、JSON、JSONP 這些名詞。三者看起來很像,很多同學(xué)尤其是沒有系統(tǒng)了解過前端技術(shù)體系的同...
閱讀 2621·2021-09-22 15:25
閱讀 3039·2021-09-14 18:03
閱讀 1308·2021-09-09 09:33
閱讀 1774·2021-09-07 09:59
閱讀 3001·2021-07-29 13:50
閱讀 1557·2019-08-30 15:44
閱讀 1775·2019-08-29 16:22
閱讀 1347·2019-08-29 12:49