1

クロスドメイン ソースから XML を読み込もうとしていますが、コールバック応答を文字列に変換するのに問題があります。Chrome でコンソールを見ると、「リソースはスクリプトとして解釈されますが、MIME タイプ text/xml で転送されます: http://mysite.com:2000/g7?callback=jQuery17209426668137311935_1344441190139&_=1344441194148

次に、「Uncaught SyntaxError: Unexpected token <」が続きます

ここで何が欠けていますか?

$.ajax({ タイプ: 'GET', url: 'http://mysite.com:2000/g7', dataType: 'jsonp', mimeType: 'text/xml' });

4

1 に答える 1

2

ここで何が欠けていますか?

JSONP がコールバックにラップされた JSON 応答を推測するという事実。これは XML では機能しません。そのため、XML ではなく JSONP を返すように、リモート サーバー側のスクリプトを変更する必要があります。たとえば、応答は次のようになります。

callback({ xml: '<node>foo bar</node>' });

ただし、リモート サーバーが XML を直接送信する場合は、同一オリジン ポリシーの制限により、AJAX を使用してそれを呼び出すことはできません。

于 2012-08-08T17:20:13.130 に答える