0

真剣に、IEの何が問題なのですか?AJAXを介してロードされたXMLデータにアクセスしているときに、「オブジェクトはこのプロパティまたはメソッドをサポートしていません」というエラーをスローします。私は一晩中原因を突き止めようとしていましたが、成功しませんでした。

コードに問題はなく、XMLデータにも問題はなく、他のすべてのブラウザーで正常に機能します。実際、IE9でも機能しますが、ローカルで実行されている場合にのみ、インターネットゾーンに入るとすぐにエラーがスローされ始めます。これはゾーンのセキュリティ設定であると考えることができますが、最低のセキュリティ設定では機能しません。

デバッガーは、XMLデータが正常にロードおよび解析されたことを示し、データがタイプIXMLDOMDocument2であることを示します。ローカルではタイプであると述べていDocumentますが、jQueryソースを見ると、おそらくMicrosoft.XMLHTTPローカルで使用されていることがわかりXMLHttpRequestます。それはそれと関係があるかもしれません。

データをテキストとしてロードし、後で$ .parseXMLを使用することでこの問題を回避できますが、ここで何が起こっているのかを本当に知りたいのですが、これは既知のバグですか、それとも何か他のものがありませんか?

例(jQuery 1.8.2を使用):

<?xml version='1.0' encoding='utf-8'?>
<root>
    <child>child</child>
</root>

$.ajax({
    url: 'test.xml',
    dataType: 'xml',
    success: function(data)
    {
        alert(data);
    }
});
4

1 に答える 1

1

'data'をアラート可能な文字列として表示する場合は、次のようにします。

$.ajax({
    url: 'test.xml',
    dataType: 'text',
    success: function(data)
    {
        alert(data);
    }
});

XMLで他に何かしていることがあれば、私たちはあなたが何をしようとしているのかを確認する必要があります。

あなたが投稿したもの(私はそれをダウンロードした)に基づいて、これはIEで機能します:

$.ajax({
    url: 'test.xml',
    dataType: 'xml',
    success: function (data) {
        alert(jQuery(data).find('child').text());
    }
});
于 2012-10-05T02:05:25.130 に答える