1

Web サイトをローカル ファイル システムで実行し、XML ファイルを呼び出すように設定しようとしていますが、アクセス コントロールのオリジン エラーが発生します。

Origin null は、Access-Control-Allow-Origin では許可されていません。

データ型をjsonpに切り替え、クロスドメインをtrueに設定してみました:

$j.ajax({
            crossdomain: true,
            url: 'xml/vehicles.xml',
            dataType: "jsonp",      
            success: function( vehicleXML ) {
                supertree.parseVehicles($j(vehicleXML).find("vehicles"), null);
                supertree.vehiclesLoaded = true;
                if(supertree.scenesLoaded) supertree.ready();
            }
        }); 

しかし、うまくいきません。これを達成する方法について何か考えはありますか?できればプロキシなしで?

4

1 に答える 1

2

同一オリジン ポリシーにより、データへのアクセスが防止されます。データを要求しているサーバーでCORSを有効にする必要があるか、サーバーでプロキシを使用して他のサーバーからデータを取得する必要があります。

その他のオプションは、XML データをJSONP形式に変更することです。jQuery に JSONP リクエストを行うように指示するほど簡単ではありません。データ形式はまったく異なり、サーバーはその形式を返す必要があり、JavaScript はそれについて何もできません。

于 2012-04-24T15:39:06.427 に答える