0

XMLファイルの解析中にJavascriptエラーが発生しました。私のコードは次のようになります:

var det = eval( "(" +  xmlhttp.responseText + ")");

このコードに対して返されるxmlファイルは次のようになります。

<?xml version="1.0" encoding="UTF-8" standalone="yes"?><accountss><accounts>`<password>1234</password><userid>arjel</userid></accounts></accountss>

このコードを実行すると、未終了の正規表現リテラルエラーが発生します。何が問題なのか?

4

2 に答える 2

4

JavaScriptとして評価することでJSONを解析するように設計された、古くて遅くて危険なコードを使用してXMLを解析しようとしています。JSONとは異なり、XMLはJavaScriptのサブセットではないため、これを実行しようとするとエラーが発生します。

xmlhttp.responseXML直接アクセスするだけです。

于 2012-06-09T07:30:05.737 に答える
0

eval() は必要ありません。Eval は、2 つの括弧で連結された xml を JavaScript として「実行」しようとしますが、明らかな理由で失敗します (JavaScript コードではなく、実行できません)。

XML を丸括弧で連結するだけの場合は、eval() を使用せずに実行します。

var det = "(" +  xmlhttp.responseText + ")"; 
于 2012-06-09T07:48:01.913 に答える