只给了一个API入口,因为跨域所以用jsonp获取数据?应该怎么获取?
生活随笔
收集整理的這篇文章主要介紹了
只给了一个API入口,因为跨域所以用jsonp获取数据?应该怎么获取?
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
前面說(shuō)到一般情況下ajax是無(wú)法跨域的,但是實(shí)際上服務(wù)器經(jīng)過(guò)設(shè)置或者代碼配置后使用CORS也可以讓ajax來(lái)跨域的,瀏覽器的支持情況也還不錯(cuò):http://caniuse.com/#search=CORS這里有篇文章有興趣可以了解一下:http://www.ruanyifeng.com/blo...
jsonp也是需要服務(wù)端來(lái)配合的,如果他給你的服務(wù)端不是jsonp的格式你也沒(méi)辦法使用jsonp。jsonp你可以這樣理解:打個(gè)比方以前使用ajax你發(fā)送數(shù)據(jù)給http://xxx.xxx/request這個(gè)地址,服務(wù)器接收數(shù)據(jù),然后返回給你json:
所以如果你的api接口沒(méi)有提供jsonp的話(huà)你也無(wú)法使用jsonp,同時(shí)jsonp因?yàn)槭怯胹cript的src方式引入的,所以如果要傳參只能是get方式如:
當(dāng)然上面只是jsonp的大致原理的解析,jquery等庫(kù)已經(jīng)封裝好了jsonp的使用方式,如果你的api接口確實(shí)是返回jsonp格式的話(huà)那你就可以直接使用jquery的jsonp方式來(lái)請(qǐng)求,具體可以參閱jquery文檔。
然后在你請(qǐng)求這個(gè)地址后服務(wù)器包裝一下給你返回:
但是因?yàn)閍jax一般情況下(注意是一般情況下)無(wú)法跨域,所以聰明的程序員就想到了jsonp方式。因?yàn)闉g覽器不限制script標(biāo)簽的跨域,所以你可以新建立一個(gè)script標(biāo)簽,script的src還是你要請(qǐng)求的地址
jsonp也是需要服務(wù)端來(lái)配合的,如果他給你的服務(wù)端不是jsonp的格式你也沒(méi)辦法使用jsonp。jsonp你可以這樣理解:打個(gè)比方以前使用ajax你發(fā)送數(shù)據(jù)給http://xxx.xxx/request這個(gè)地址,服務(wù)器接收數(shù)據(jù),然后返回給你json:
所以如果你的api接口沒(méi)有提供jsonp的話(huà)你也無(wú)法使用jsonp,同時(shí)jsonp因?yàn)槭怯胹cript的src方式引入的,所以如果要傳參只能是get方式如:
當(dāng)然上面只是jsonp的大致原理的解析,jquery等庫(kù)已經(jīng)封裝好了jsonp的使用方式,如果你的api接口確實(shí)是返回jsonp格式的話(huà)那你就可以直接使用jquery的jsonp方式來(lái)請(qǐng)求,具體可以參閱jquery文檔。
然后在你請(qǐng)求這個(gè)地址后服務(wù)器包裝一下給你返回:
但是因?yàn)閍jax一般情況下(注意是一般情況下)無(wú)法跨域,所以聰明的程序員就想到了jsonp方式。因?yàn)闉g覽器不限制script標(biāo)簽的跨域,所以你可以新建立一個(gè)script標(biāo)簽,script的src還是你要請(qǐng)求的地址
總結(jié)
以上是生活随笔為你收集整理的只给了一个API入口,因为跨域所以用jsonp获取数据?应该怎么获取?的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 世界语言难度排行图表(世界语言综合难易度
- 下一篇: 夏尔巴人是哪国人(夏尔巴人为什么没有成为