0

わかりましたので、プロトタイプは私の選択ではありませんが、クライアント サイトで使用されているため、適応する必要があります。

サイト A からの XML フィードがあり、関数は次のとおりです。

new Ajax.Request('somefeedurl.ashx',
{
    method:'get',
    onSuccess: function(transport){
        console.log("Transport: "+transport)
        myParseXml(transport.responseXML);
    },
    onFailure: function(){
        alert('Something went wrong...')
    }
});

somefeedurl.com へのアクセスを許可する crossdomain.xml ファイルを実装しましたが、同じ Origin: is not allowed by Access-Control-Allow-Origin を取得しています。

プロトタイプを使用してこれを回避する方法はありますか?

2番目の質問として。これを回避したら、関数 myParseXML() を実行して実際に処理を行うのは正しいですか? つまり、transport.responseXML はフィードから XML データを提供するのでしょうか?

よろしく、ロバート

4

1 に答える 1

0

いいえ。XML フィードを提供する他のサイトがクロスドメイン リクエストを明示的に許可していない場合、 SOPにより Ajax を使用して (直接) 取得することはできません。「回避策」はセキュリティ バグになります。

ajax 呼び出しをラップするために使用するライブラリに関係なく。

onsuccess ハンドラが呼び出されるXMLHTTPRequestのドキュメントも参照してください。したがって、2 番目の質問に答えるには: いいえ、既にドキュメントに解析されています。responseXML

于 2012-05-24T12:26:08.317 に答える