2009-05-30 43 views
0

Google Maps的API对象GGeoXML能够访问跨域XML文件(通常是KML或GeoRSS)。它不使用XmlHttpRequest,因为它会抛出“访问被限制的URI被拒绝”异常(因为它应该是这样)。此外,它不使用谷歌的GXmlHttp包装,因为我试过了,它会抛出相同的URI被拒绝的异常。GGeoXML如何访问跨域XML文件?

因此,GGeoXML不使用XMLHttpRequest,也不使用Google的GXMLHttp包装。 GGeoXML如何访问跨域XML文件?

+0

http://stackoverflow.com/questions/926137/why-dont-i-get-a-same-origin-policy-warning-when-using-the-google-maps-api/926215#926215的副本 – 2009-05-30 06:04:51

回答

1

如果你想要通过AJAX获取跨域数据,那么使用JSONP的方式。它本质上是一个包装在函数调用中的JSON对象。当JSONP对象返回到你的服务器时,这个函数被执行,并且它将JSON解析成一个可行的对象。

JSONP是专门为避免AJAX的跨域限制而创建的。

1

在后端有一个代理访问这个数据的“跨域”。这避免了浏览器中的跨域安全功能。

JS调用“fetchData”调用js托管的同一个域上的Web服务。这个后端代理发出'跨域'并访问其他信息,解析它并将它返回给'fetchData'调用的回调函数。