1

次の XML を文字列として持っています。

<battery_content>
    <last_update>2012-15-09-22-40</last_update>
    <total_downloads>234</total_downloads>
    ......
</battery_content>

Ajax リクエストから XML を取得し、.xml に保存しsXMLDataます。私は簡単にやります、window.alert(sXMLData)そしてすべては大丈夫です。

次のコードを IE8 で実行すると、動作しないようです。Chrome と Firefox が動作します。

window.alert("last_update" + $(sXMLData).find("last_update").text());

理由が分からないようです。この方法は IE8 では機能しませんか? もしそうなら、どうすれば問題を解決できますか?

4

1 に答える 1

3

「XML をダム文字列として」処理する適切な方法は、$.parseXML最初にそれを渡すことです。

 window.alert(
     "last_update" + $($.parseXML(sXMLData)).find("last_update").text());

ただし、次の場合は手動でこれを行う必要はありません

  • サーバーが XML を返すContent-Type
  • または、XML をフェッチする AJAX 要求でdataTypeAJAX オプションを使用して、応答を XML として扱うように指定します。

サーバーが管理下にある場合は、適切なコンテンツ タイプを返すように修正します。そうでない場合は、代替ソリューションを使用してください。触れたくない正当な理由があるサードパーティ コードから文字列を取得する場合にのみ、XML を手動で解析することをお勧めします。

于 2012-11-17T20:21:47.043 に答える