Re: [問題] 請問XHR跨網域存取有什麼好對策?
※ 引述《liaosankai (低溫烘焙)》之銘言:
: 使用ajax的人應該都知道存在著XHR跨網域存取禁止問題
: 我找一篇是使用DSSO的方式解決
: http://www.blogjava.net/hunteva/archive/2007/06/13/dsso.html
: 有更好的辦法嗎?
先講結論:
1.期待 firefox 承諾過的 cross domain http request.
(不過就算有也是firefox only)
2.server side 的 proxy法
3.轉換為可以存取的操作.
(ex. js、img 等可以cross domain的方案.)
────────────────────────────────
前面有幾篇討論 script / lazy load的文章應該都有帶到,
基本上要先定義好命題 , 「跨網域存取」在網頁上,
依存取的對象分成以下幾種:
1.html
2.css
3.img
4.js
基本上我們在碰到「跨網域存取」這個問題 ,
會有問題的主要是在於 html的存取 ,
如果你的問題不需要存取別的網頁的html就能解決 ,
自然這問題就不會發生在你身上.
如果你非得存取不可 , 很簡單把request的資料送給server ,
讓server用他的身份開socket 去存取目標網站 , 取得對應的回應 ,
不然可以隨便用使用者的request去存取別的網站, 那就真的會天下大亂了.
轉換為 js , 也就是你提得link的作法是合理 , 但根據我的開發經驗 ,
真正會碰到 cross domain 問題的往往不是這裡...
會能夠cross domain 又能拿到理想的.js ,
除非是有開放 json 型態的 api , 或是對方配合度很高. XD
--
What do you want to have ? / What do you have?
從書本中,你可以發現我的各種興趣。
從CD中,你可以瞭解我所喜歡的偶像明星。
或許從文字你很難以瞭解一個人,但從物品可以。
My PPolis , My past. http://ppolis.tw/user/Tony
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 221.169.78.140
推
11/30 01:06, , 1F
11/30 01:06, 1F
討論串 (同標題文章)