小編這次要給大家分享的是JSONP如何解決JS跨域問題,文章內容豐富,感興趣的小伙伴可以來了解一下,希望大家閱讀完這篇文章之后能夠有所收獲。
你所需要的網站建設服務,我們均能行業(yè)靠前的水平為你提供.標準是產品質量的保證,主要從事成都網站制作、成都網站設計、外貿營銷網站建設、企業(yè)網站建設、手機網站制作設計、網頁設計、成都品牌網站建設、網頁制作、做網站、建網站。創(chuàng)新互聯(lián)建站擁有實力堅強的技術研發(fā)團隊及素養(yǎng)的視覺設計專才。現(xiàn)代編程中前后端都已經是分開部署了,前端有自己的域,后端也有自己的域。由于瀏覽器同源策略的限制,非同源下的請求,就會產生跨域問題。解決跨域問題的方法有很多種,例如CORS(cross orign resources share)和JSONP。這里我就著重介紹一下jsonp的解決方案。
一:基礎概念
同源策略:同一協(xié)議,同一域名,同一端口號。只要不滿足三者其中一種都是屬于跨域問題。
舉幾個簡單的例子
1: https://www.a.com:8080到http://www.a.com:8080的請求會出現(xiàn)跨域(域名、端口相同但協(xié)議不同)
2: https://www.a.com:8080到https://www.b.com:8080的請求會出現(xiàn)跨域(協(xié)議、端口相同但域名不同)
3: https://www.a.com:8080到https://www.a.com:9090的請求會出現(xiàn)跨域(協(xié)議、域名相同但端口不同)
跨域:跨域的安全限制都是對瀏覽器端來說的,服務器端是不存在跨域安全限制的。瀏覽器的同源策略限制從一個源加載的文檔或腳本與來自另一個源的資源進行交互。
二:區(qū)別JSON和JSONP
三:跳出同源的“舒適圈”
我們發(fā)現(xiàn),在web頁面調用js文件是不受是否跨域問題的影響的。而且我們還發(fā)現(xiàn)凡是擁有 src 這個屬性的標簽都擁有跨域的能力,比如img和script。在html頁面中我們經常會做引入圖片的操作,通過img標簽中的src屬性,我們就可以請求得到一個靜態(tài)資源。
我們可以看到這本質上就是一個GET請求,同理,link和script里的href和src同樣可以通過GET請求去請求資源。