0

Google マップの API オブジェクト GGeoXML は、クロスドメイン XML ファイル (通常は KML または GeoRSS) にアクセスできます。「制限されたURIへのアクセスが拒否されました」例外をスローするため、XmlHttpRequestを使用しません(想定どおり)。また、Google の GXmlHttp ラッパーを使用していません。試してみたところ、同じ URI 拒否例外がスローされたからです。

したがって、GGeoXML は XMLHttpRequest も Google の GXMLHttp ラッパーも使用しません。GGeoXML はどのようにクロスドメイン XML ファイルにアクセスしますか?

4

2 に答える 2

1

AJAXを介してクロスドメインデータをフェッチする場合は、JSONPを使用する方法がありますこれは基本的に、関数呼び出しでラップされたJSONオブジェクトです。JSONPオブジェクトがサーバーに戻ると、関数が実行され、その中のJSONが解析されて実行可能なオブジェクトに戻ります。

JSONPは、AJAXのクロスドメイン制限を回避することを目的として特別に作成されました。

于 2009-05-31T07:07:05.953 に答える
1

バックエンドには、このデータ「クロスドメイン」にアクセスするプロキシがあります。これにより、ブラウザのクロスドメイン セキュリティ機能が回避されます。

「fetchData」への JS 呼び出しは、js がホストされている同じドメインで Web サービスを呼び出します。このバックエンド プロキシは「クロス ドメイン」に出て、他の情報にアクセスし、それを解析して、「fetchData」呼び出しのコールバック関数に返します。

于 2009-06-07T19:42:08.343 に答える