没有jsonp和代理的javascript跨域

时间:2012-03-14 10:40:08

标签: javascript cross-domain

在我们的网络应用程序中,我们已经做了一些ajax请求,因此我们可能会遇到跨域问题。

由于我们使用ajax来请求返回xml文档的标准Web服务。

所以我们不能使用jsonp。

我们也不想使用代理。由于服务器可能使用反向代理,在这种情况下代理可能无法正常工作。

然后我想知道是否有其他方法可以解决这个跨域问题?


此处提供的服务是标准的ogc Web服务。

An example.

Another example


UPDATE2: 我们避免使用代理,因为当服务器使用反向代理时我们遇到了问题。

例如,公开的服务器地址为“http://100.1.1.1”。

我做了一个ajax请求:'http://100.1.1.1/proxy.ashx?url=http://100.2.2.2/xx.img'。

然后服务器'100.1.1.1'将此请求发送到ip为'192.168.1.1'的本地网络,然后proxy.ashx现在无法访问互联网'100.2.2.2'。所以... :(。 enter image description here

2 个答案:

答案 0 :(得分:4)

XHR2允许跨源请求。如果您从中提取数据的网络服务允许CORS,您可以使用该服务 - 尽管您应该注意这是only supported in

  • Chrome 3 +
  • Firefox 3.5 +
  • Safari 4 +
  • Internet Explorer 8 +
  • Opera 12 +

答案 1 :(得分:1)

我曾尝试使用Flex + crossdomain.xml,甚至是JavaFX应用程序来做一些跨域工作