作者wctang (wctang)
看板Ajax
标题Re: [问题] 请问XHR跨网域存取有什麽好对策?
时间Sun Nov 30 13:58:06 2008
※ 引述《liaosankai (低温烘焙)》之铭言:
: 使用ajax的人应该都知道存在着XHR跨网域存取禁止问题
: 我找一篇是使用DSSO的方式解决
: http://www.blogjava.net/hunteva/archive/2007/06/13/dsso.html
: 有更好的办法吗?
一点个人看法,不是很确定正确性...
其实那个什麽 DSSO 应该叫 On-Demand JavaScript (依 Ajax Design
Patterns 的叫法),不算什麽新鲜玩意儿了。在 JavaScript 中想要
CrossDomain 其实方法不只这一种,在 Ajax Design Pattern 中还有
Iframe Call, 不过严格的说这些都不是 JavaScript 的手段,在纯
JavaScript 中是不允许 Cross Domain 的。
(依 Ajax Design Pattern 的说法,Google Maps 本身是使用 IFrame
Call, 当然使用 API 时是用 On-Demand JS,而且是用 document.write
这种烂方法 @@ )
其实 Cross-Domain XMLHttpRequest 一直在考虑中,不过安全性的问
题一直让人很疑虑。
http://ajaxian.com/archives/the-fight-for-cross-domain-xmlhttprequest
还有,如果允许在 Browser 中加点料的话,方法就更多,像是 Gears
和 GreaseMonkey 都允许真正的 Cross Domain Call 。
个人经验来看,如果是公开的 API 的话适合用 On-Deman JavaScript,
网站内部的话比较适合用 IFrame Call,如果想呼叫一个原本没考虑到
要给别人“跨”的服务时,大概透过 pipes + On-Deman JS 或是 Server
转送是唯一的方法了。
(虽说是个人经验,但我只用 On-Demand JavaScript 而己)
非专业意见,请大家指教罗...
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 59.127.126.90
1F:推 liaosankai:谢谢提供你的经验 :) 12/01 08:26