1

如果在没有代理黑客、JSONP、Flash 或浏览器安全更改的情况下允许两个自己的域之间的 AJAX?也许是 SSL 之类的?

4

6 回答 6

2

一个签名的 Java 小程序也许可以做到这一点,但这与 Flash 的原理相同,因此可能无法满足您的要求。

跨域请求有一个规范,但仍处于开发阶段。

于 2009-04-30T20:01:17.877 回答
1

据我所知,您最好的选择是创建一个服务器资源,您可以将 AJAX 调用定向到该服务器资源,该资源会将它们转发到不同域上的第二台服务器,然后将结果通过隧道返回到您的应用程序。

于 2009-04-30T20:37:03.267 回答
1

您可以尝试一种称为'Ajast'的技术。

<script>基本上,您在域 A 上的 javascript 会根据需要向页面添加额外的标签。这些脚本标签指向域 B 上的 javascript 文件(不必是静态 .js),允许您从域 B 加载数据。

于 2009-04-30T21:39:55.440 回答
1

在我有类似的跨域工作需要的情况下,我通过使用与嵌入页面颜色相同的嵌入式无边框 iframe 来回避它。这是一种古老的技术,早于 AJAX 的广泛使用,现在由于“我们将使用 AJAX”的心态而经常被忽视。然而,你可以用这种方法做很多事情,如果你真的被卡住了,它可能就足够了。当然,您可以在嵌入页面和主页面之间编写一些相当复杂的交互,这在某种程度上可以提供与启用 AJAX 的页面类似的用户体验。

虽然确实发生了一个明显的想法,但我从未尝试过 - 是否可以在主页(即第一个域)内嵌入第二个域的 iframe,并通过嵌入的 iframe 从主页与第二个域进行通信?

于 2009-04-30T22:03:59.500 回答
0

只需使用easyXDM,它就可以轻松地在不同域的文档之间进行通信。看看其中一个例子,http://consumer.easyxdm.net/current/example/methods.html

于 2009-07-05T22:15:21.897 回答
0

是的,如果您使用的是 Apache,那么有一个简单的方法。更改 apache 的 httpd-vhosts.conf 文件中的设置(我使用的是 Apache 2.2)

<VirtualHost *:80>
ServerAdmin webmaster@dummy-host.com
DocumentRoot “C:/apache-tomcat-6.0.29/webapps/myApplication”
ServerName skill-guru.com
ErrorLog “logs/skg1-error.log”
CustomLog “logs/skg1-access.log” common


Header set Access-Control-Allow-Origin “*”

<Directory “C:/apache-tomcat-6.0.29/webapps/myApplication”&gt;
Options -Indexes FollowSymLinks
AllowOverride AuthConfig FileInfo
Order allow,deny
Allow from all
</Directory>

JkUnmount /*.jsp ajp13

</VirtualHost>

使用 Apache 编写跨站点脚本

于 2011-02-22T20:28:17.633 回答