協議
(http, https, ftp etc.) 、網域名稱
(foo.com, bar.com, img.foo.com) 、埠
(80, 8080, ...) 其中有乙個不一致即形成跨域。跨域是一種解決瀏覽器同源策略限制的手段,應根據場景選用合適的跨域方法,而不是在一種場景下隨便哪個都可以。
開啟控制台,如果出現類似下面的錯誤資訊或者帶有cross-origin
的錯誤資訊,說明遇到了瀏覽器的同源策略
限制。
利用具有跨域能力的html標籤:、
、
和
xmlhttprequest
支援的方法
注意:js無法解決協議或埠造成的跨域問題
學習跨域前,先做下準備工作—在本地模擬跨域條件,直接用localhost
127.0.0.1
也行,不過不太方便,並且不能模擬子域。
我是用wampserver
搭建的本地伺服器,安裝在e:\wamp
,www目錄在e:\htdocs
,接下來要修改httpd.conf
和httpd-vhosts.conf
檔案,根據我的安裝路徑和版本是在e:\wamp\bin\apache\apache2.2.17\conf\
和 子目錄extra
下。
215 這裡我修改了web檔案的位置 e:/htdocs
467 #include conf/extra/httpd-vhosts.conf 去掉第乙個#
httpd-vhosts.conf刪除26行以後的** 新增
# localhost
documentroot "e:/htdocs"
servername localhost
# foo.com
servername foo.com
documentroot "e:/htdocs/"
# www.foo.com
servername www.foo.com
documentroot "e:/htdocs/img/"
# img.foo.com
servername img.foo.com
documentroot "e:/htdocs/img/"
最後修改hostc:\windows\system32\drivers\etc\hosts
127.0.0.1 localhost
127.0.0.1 foo.com
127.0.0.1 www.foo.com
127.0.0.1 img.foo.com
127.0.0.1 bar.com
影象ping內容僅代表個人的理解,可能有不準確的地方,如有不妥請自行斟酌flash
新手學跨域
協議 http,https,ftp etc.網域名稱 foo.com,bar.com,img.foo.com 埠 80,8080,其中有乙個不一致即形成跨域。跨域是一種解決瀏覽器同源策略限制的手段,應根據場景選用合適的跨域方法,而不是在一種場景下隨便哪個都可以。開啟控制台,如果出現類似下面的錯誤資訊...
js跨域 ajax跨域 跨域方式(前端)
跨域方式 cors 跨域資源共享 當使用xmlhttprequest傳送請求時,瀏覽器會自動加上乙個請求頭 origin,後端在接受到請求後確定響應後會在response headers中加入乙個屬性 access control allow origin,值就是發起請求的源位址 瀏覽器得到響應會進...
跨域與跨域訪問
跨域是指從乙個網域名稱的網頁去請求另乙個網域名稱的資源。比如從www.baidu.com 頁面去請求 www.google.com 的資源。跨域的嚴格一點的定義是 只要協議,網域名稱,埠有任何乙個的不同,就被當作是跨域 使用者訪問www.mybank.com 登陸並進行網銀操作,這時cookie啥的...