簡單的實現Ajax跨域請求

Ajax跨域到底是什麼意思?

Ajax請求一個目標地址爲非本域(協議、域名、端口任意一個不同)的web資源,並根據響應獲得外部應用數據。比如我們用Ajax訪問城市天氣預報、IP地址等公共服務接口時,就涉及跨域了。我們請求一個外部服務時,瀏覽器會基於安全問題拒絕授權訪問。而script、script、iframe標籤的src屬性就不存在跨域的問題,所以Ajax跨域就是利用這一點以及js對JSON的支持,外部服務只要給Ajax的請求響應一段JS代碼或JSON數據,就能被Ajax獲取到。


那什麼引起了ajax跨域不能的問題?
ajax本身實際上是通過XMLHttpRequest對象來進行數據的交互,而瀏覽器出於安全考慮,不允許js代碼進行跨域操作,所以會警告。


還要理解一個詞彙:同源策略

同源策略:對數據訪問的限制


同源策略(Same origin policy)它是由Netscape提出的一個著名的安全策略,是一種約定。

所謂同源是指,域名,協議,端口相同。


同源策略限制必須是相同域名、協議和端口下才能進行數據的訪問。


它是瀏覽器最核心也最基本的安全功能,如果缺少了同源策略,則瀏覽器的正常功能可能都會受到影響。可以說Web是構建在同源策略基礎之上的,瀏覽器只是針對同源策略的一種實現。


利用jQuery可以很方便的實現JSONP來進行跨域訪問。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章