JSONP是什么-創(chuàng)新互聯(lián)

創(chuàng)新互聯(lián)www.cdcxhl.cn八線(xiàn)動(dòng)態(tài)BGP香港云服務(wù)器提供商,新人活動(dòng)買(mǎi)多久送多久,劃算不套路!

成都創(chuàng)新互聯(lián)公司專(zhuān)業(yè)為企業(yè)提供王屋網(wǎng)站建設(shè)、王屋做網(wǎng)站、王屋網(wǎng)站設(shè)計(jì)、王屋網(wǎng)站制作等企業(yè)網(wǎng)站建設(shè)、網(wǎng)頁(yè)設(shè)計(jì)與制作、王屋企業(yè)網(wǎng)站模板建站服務(wù),10年王屋做網(wǎng)站經(jīng)驗(yàn),不只是建網(wǎng)站,更提供有價(jià)值的思路和整體網(wǎng)絡(luò)服務(wù)。

JSONP是什么?針對(duì)這個(gè)問(wèn)題,這篇文章給出了相對(duì)應(yīng)的分析和解答,希望能幫助更多想解決這個(gè)問(wèn)題的朋友找到更加簡(jiǎn)單易行的辦法。

JSONP

JSONP(JSON with Padding)是JSON的一種"使用模式",可用于解決主流瀏覽器的跨域數(shù)據(jù)訪(fǎng)問(wèn)的問(wèn)題。由于同源策略,一般來(lái)說(shuō)位于 server1.example.com 的網(wǎng)頁(yè)無(wú)法與不是 server1.example.com的服務(wù)器溝通,而 HTML 的<script> 元素是一個(gè)例外。利用 <script> 元素的這個(gè)開(kāi)放策略,網(wǎng)頁(yè)可以得到從其他來(lái)源動(dòng)態(tài)產(chǎn)生的 JSON 資料,而這種使用模式就是所謂的 JSONP。用 JSONP 抓到的資料并不是 JSON,而是任意的JavaScript,用 JavaScript 直譯器執(zhí)行而不是用 JSON 解析器解析。

JSONP的由來(lái)

根據(jù)瀏覽器同源策略,所謂同源就是協(xié)議、主機(jī)、端口號(hào)都相同時(shí)成為同源。a 域的js不能直接訪(fǎng)問(wèn) b域名的信息,但是script 標(biāo)簽的src屬性可以跨域引用文件,jsonp是請(qǐng)求之后后臺(tái)包裝好一段json,并且把數(shù)據(jù)放在一個(gè)callback函數(shù),返回一個(gè)js文件,動(dòng)態(tài)引入這個(gè)文件,下載完成js之后,會(huì)去調(diào)用這個(gè)callback,通過(guò)這樣訪(fǎng)問(wèn)數(shù)據(jù)。

JSONP有什么用?

由于同源從略的限制,XMLHttpRequest只允許請(qǐng)求前源(域名、協(xié)議、端口)的資源,為了實(shí)現(xiàn)跨域請(qǐng)求,可以通過(guò)script標(biāo)簽實(shí)現(xiàn)跨域請(qǐng)求,然后再服務(wù)端輸出JSON數(shù)據(jù)并執(zhí)行回調(diào)函數(shù),從而解決跨域數(shù)據(jù)請(qǐng)求

JSONP原理

首先在客戶(hù)端注冊(cè)一個(gè)函數(shù);然后把函數(shù)的名字傳給服務(wù)器;接著服務(wù)器成JSON數(shù)據(jù),并以Javascript語(yǔ)法的方式,將數(shù)據(jù)傳入客戶(hù)端注冊(cè)的函數(shù)中;最后在客戶(hù)端注冊(cè)函數(shù)中接收J(rèn)SON即可。

JSONP的使用

1. 在客戶(hù)端調(diào)用提供JSONP支持的URL Service,獲取JSONP格式數(shù)據(jù)。

比如客戶(hù)想訪(fǎng)問(wèn)http://www.yiwuku.com/myService.aspx?jsonp=callbackFunction

假設(shè)客戶(hù)期望返回JSON數(shù)據(jù):["customername1","customername2"]

那么真正返回到客戶(hù)端的Script Tags: callbackFunction(["customername1","customername2"])

可能的調(diào)用方式:

2. 在客戶(hù)端寫(xiě)callbackFunction函數(shù)的實(shí)現(xiàn)

3. 頁(yè)面展示

4. 最終Page Code

關(guān)于JSONP的介紹就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,可以學(xué)到更多知識(shí)。如果覺(jué)得文章不錯(cuò),可以把它分享出去讓更多的人看到。

分享標(biāo)題:JSONP是什么-創(chuàng)新互聯(lián)
文章出自:http://muchs.cn/article24/dshhce.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供小程序開(kāi)發(fā)、關(guān)鍵詞優(yōu)化、ChatGPT、企業(yè)建站靜態(tài)網(wǎng)站、網(wǎng)站內(nèi)鏈

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶(hù)投稿、用戶(hù)轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀(guān)點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話(huà):028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

成都定制網(wǎng)站建設(shè)