localhost ::跨域ajax

时间:2010-10-03 09:17:14

标签: ajax localhost

有没有办法告诉你的localhost它可以进行跨域ajax调用?

我的测试需要这个。

如果是浏览器特定问题,我使用谷歌浏览器。

干杯。

2 个答案:

答案 0 :(得分:26)

这很有可能。让我们从开发浏览器开始。

第1步:下载Chromium

Windows - http://www.chromium.org/getting-involved/download-chromium

Mac - http://www.macupdate.com/app/mac/36244/chromium/

应该有一个构建准备好,但这些位置会随着时间的推移而变化。因此,如果这些最终以404的方式进行Google搜索Windows Chromium下载,您就会找到它。

第2步:然后使用此标志运行可执行文件。 --disable-web-security

Windows - 创建可执行文件的快捷方式,并在“属性”中对其进行标记。或者从[CMD]运行。

Mac - 打开一个终端并用旗子直接从那里运行。

而且,你应该好好去。我还设置了一个快速的Apache服务并运行127.0.0.1配置的域,但localhost应该没问题。这是证据。

Cross-domain security block disabled

我希望这可以帮到你!

答案 1 :(得分:2)

不,这绝对不可能。如果它可以被用户禁用,那么它将是任何具有邪恶或可疑意图的人的主要目标,并且与任何其他软件一样容易被利用。制作安全的软件很困难,而不是在更具吸引力的目标上绘画。

实现跨域Ajax的唯一方法是通过服务器端脚本路由请求。

值得一提的是,或许还有一线希望:cross-window messaging with HTML 5 postMessage

这可能值得你读一些相关的(虽然我不确定它们是重复的)问题:

<小时/> 已编辑以回复评论:

  

所以你的意思是有一个脚本接受参数,将它们添加到请求中,发送出去,然后回应响应对象?

基本上是的。图片格式:

client  |--------------> | server side |----------------------->  | remote domain
browser | <----ajax------|   script    | <------------------------|--/

已编辑以使用跨源资源共享(CORS)添加现在这种情况。其中来自一个域的脚本发送一个Origin HTTP标头,表明该页面的URL,并且服务器可以响应(如果配置为这样做)并显示错误(如果CORS被禁用或不支持)或任何请求的数据。

参考文献: