只给了一个API入口,因为跨域所以用jsonp获取数据?应该怎么获取?
生活随笔
收集整理的這篇文章主要介紹了
只给了一个API入口,因为跨域所以用jsonp获取数据?应该怎么获取?
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
前面說到一般情況下ajax是無法跨域的,但是實際上服務器經過設置或者代碼配置后使用CORS也可以讓ajax來跨域的,瀏覽器的支持情況也還不錯:http://caniuse.com/#search=CORS這里有篇文章有興趣可以了解一下:http://www.ruanyifeng.com/blo...
jsonp也是需要服務端來配合的,如果他給你的服務端不是jsonp的格式你也沒辦法使用jsonp。jsonp你可以這樣理解:打個比方以前使用ajax你發送數據給http://xxx.xxx/request這個地址,服務器接收數據,然后返回給你json:
所以如果你的api接口沒有提供jsonp的話你也無法使用jsonp,同時jsonp因為是用script的src方式引入的,所以如果要傳參只能是get方式如:
當然上面只是jsonp的大致原理的解析,jquery等庫已經封裝好了jsonp的使用方式,如果你的api接口確實是返回jsonp格式的話那你就可以直接使用jquery的jsonp方式來請求,具體可以參閱jquery文檔。
然后在你請求這個地址后服務器包裝一下給你返回:
但是因為ajax一般情況下(注意是一般情況下)無法跨域,所以聰明的程序員就想到了jsonp方式。因為瀏覽器不限制script標簽的跨域,所以你可以新建立一個script標簽,script的src還是你要請求的地址
jsonp也是需要服務端來配合的,如果他給你的服務端不是jsonp的格式你也沒辦法使用jsonp。jsonp你可以這樣理解:打個比方以前使用ajax你發送數據給http://xxx.xxx/request這個地址,服務器接收數據,然后返回給你json:
所以如果你的api接口沒有提供jsonp的話你也無法使用jsonp,同時jsonp因為是用script的src方式引入的,所以如果要傳參只能是get方式如:
當然上面只是jsonp的大致原理的解析,jquery等庫已經封裝好了jsonp的使用方式,如果你的api接口確實是返回jsonp格式的話那你就可以直接使用jquery的jsonp方式來請求,具體可以參閱jquery文檔。
然后在你請求這個地址后服務器包裝一下給你返回:
但是因為ajax一般情況下(注意是一般情況下)無法跨域,所以聰明的程序員就想到了jsonp方式。因為瀏覽器不限制script標簽的跨域,所以你可以新建立一個script標簽,script的src還是你要請求的地址
總結
以上是生活随笔為你收集整理的只给了一个API入口,因为跨域所以用jsonp获取数据?应该怎么获取?的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 世界语言难度排行图表(世界语言综合难易度
- 下一篇: b票多少钱啊?