成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

帶你實(shí)現(xiàn)一個(gè) JSONP 實(shí)例

verano / 1782人閱讀

摘要:前提是的方法名與引入的文件方法名一致。簡(jiǎn)單描述就是先定義一個(gè)方法,然后引入外部調(diào)用這個(gè)方法并攜帶數(shù)據(jù)。

JSONP 被用于跨域獲取數(shù)據(jù)。在講解它之前,先講講它與 JSON 之間的區(qū)別

什么是JSON?

JSON 是一種基于文本的數(shù)據(jù)交換方式,或者叫做數(shù)據(jù)描述格式。

其優(yōu)點(diǎn)是:

1、基于純文本,跨平臺(tái)傳遞極其簡(jiǎn)單;

2、Javascript 原生支持,后臺(tái)語(yǔ)言幾乎全部支持;

3、輕量級(jí)數(shù)據(jù)格式,占用字符數(shù)量極少,特別適合互聯(lián)網(wǎng)傳遞;

4、可讀性較強(qiáng),雖然比不上 XML 那么一目了然,但在合理的依次縮進(jìn)之后還是很容易識(shí)別的;

5、容易編寫和解析,當(dāng)然前提是你要知道數(shù)據(jù)結(jié)構(gòu);

JSON 的缺點(diǎn)當(dāng)然也有,跨域無(wú)法獲取數(shù)據(jù),而 JSONP 的出現(xiàn)正好彌補(bǔ)了這一缺陷

什么是JSONP?

JSONP 是一種依靠開發(fā)人員的聰明才智創(chuàng)造出的一種非官方跨域數(shù)據(jù)交互協(xié)議,其本質(zhì)就是 js 文件。

JSONP的客戶端具體實(shí)現(xiàn)

Web頁(yè)面上調(diào)用js文件時(shí)不受是否跨域的影響(不僅如此,凡是擁有"src"這個(gè)屬性的標(biāo)簽都擁有跨域的能力,比如

// somejsonp.js
localHandler({"result":"我是遠(yuǎn)程js帶來(lái)的數(shù)據(jù)"});

3.然后回到 jsonp 文件夾,輸入命令node index.js后,用瀏覽器打開http://localhost:3000即可看到瀏覽器窗口彈出js文件中的result,也就是我們獲取到了js的數(shù)據(jù)。這便是jsonp的基本原理。

動(dòng)態(tài)獲取 JSONP 的數(shù)據(jù),就是在頁(yè)面中動(dòng)態(tài)插入一段script標(biāo)簽,scr中包含路徑及參數(shù),這樣后臺(tái)可根據(jù)參數(shù)動(dòng)態(tài)生成JS文件,涉及后臺(tái)實(shí)現(xiàn),這里不做過多闡述。

JSONP 在 JQuery 中的具體實(shí)現(xiàn)

jquery 中對(duì)于 jsonp 的封裝也是基于以上原理,下面是基于 jquery 的代碼

修改index.html




  
  
  
  Document


  
  

jquery 動(dòng)態(tài)生成script標(biāo)簽,并定義好方法。前提是jsonpCallback的方法名與引入的js文件方法名一致。

重新刷新頁(yè)面即可看到彈出框中獲取的 jsonp 中的數(shù)據(jù)。

簡(jiǎn)單描述就是——先定義一個(gè)方法,然后引入外部JS調(diào)用這個(gè)方法并攜帶數(shù)據(jù)。

以上就是對(duì)于 JSONP 的簡(jiǎn)潔描述,希望對(duì)你有幫助。

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/97751.html

相關(guān)文章

  • javasscript - 收藏集 - 掘金

    摘要:跨域請(qǐng)求詳解從繁至簡(jiǎn)前端掘金什么是為什么要用是的一種使用模式,可用于解決主流瀏覽器的跨域數(shù)據(jù)訪問的問題。異步編程入門道典型的面試題前端掘金在界中,開發(fā)人員的需求量一直居高不下。 jsonp 跨域請(qǐng)求詳解——從繁至簡(jiǎn) - 前端 - 掘金什么是jsonp?為什么要用jsonp?JSONP(JSON with Padding)是JSON的一種使用模式,可用于解決主流瀏覽器的跨域數(shù)據(jù)訪問的問題...

    Rango 評(píng)論0 收藏0
  • 一篇文章帶你了解http/https

    摘要:基礎(chǔ),超文本傳輸協(xié)議。不驗(yàn)證通信方的身份,通信方的身份有可能遭遇偽裝。無(wú)法證明報(bào)文的完整性,報(bào)文有可能遭篡改。多路復(fù)用,支持單個(gè)連接多次請(qǐng)求,即連接共享,即每一個(gè)都是是用作連接共享機(jī)制的。 走在前端的大道上 本篇將自己讀過的相關(guān) http/https 方法 文章中,對(duì)自己有啟發(fā)的章節(jié)片段總結(jié)在這(會(huì)對(duì)原文進(jìn)行刪改),會(huì)不斷豐富提煉總結(jié)更新。 Web 基礎(chǔ) HTTP(HyperText...

    2bdenny 評(píng)論0 收藏0
  • 原生JavaScript實(shí)現(xiàn)AJAX、JSONP

    摘要:在這里講解一下用原生如何實(shí)現(xiàn)。當(dāng)然,前面也說過,你可以給定固定回調(diào)函數(shù)名最后我已經(jīng)將和請(qǐng)求合并在一起了,下載鏈接原文鏈接原生實(shí)現(xiàn)如有問題,歡迎在下方留言 相信大多數(shù)前端開發(fā)者在需要與后端進(jìn)行數(shù)據(jù)交互時(shí),為了方便快捷,都會(huì)選擇JQuery中封裝的AJAX方法,但是有些時(shí)候,我們只需要JQuery的AJAX請(qǐng)求方法,而其他的功能用到的很少,這顯然是沒必要的。 其實(shí),原生JavaScript...

    xcc3641 評(píng)論0 收藏0
  • fetch使用的常見問題及其解決辦法

    首先聲明一下,本文不是要講解fetch的具體用法,不清楚的可以參考MDN fetch教程。 引言 說道fetch就不得不提XMLHttpRequest了,XHR在發(fā)送web請(qǐng)求時(shí)需要開發(fā)者配置相關(guān)請(qǐng)求信息和成功后的回調(diào),盡管開發(fā)者只關(guān)心請(qǐng)求成功后的業(yè)務(wù)處理,但是也要配置其他繁瑣內(nèi)容,導(dǎo)致配置和調(diào)用比較混亂,也不符合關(guān)注分離的原則;fetch的出現(xiàn)正是為了解決XHR存在的這些問題。例如下面代碼: f...

    pubdreamcc 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<