未终止的正则表达式文字错误

时间:2012-06-09 07:28:07

标签: javascript xml jsp

我在解析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>

执行此代码时,我有一个未终止的正则表达式文字错误。可能是什么问题?

2 个答案:

答案 0 :(得分:4)

您正在尝试使用旧的,缓慢且危险的代码来解析XML,该代码旨在通过将其评估为JavaScript来解析 JSON 。与JSON不同,XML不是JavaScript的子集,因此当您尝试执行此操作时会出错。

直接访问xmlhttp.responseXML

答案 1 :(得分:0)

您不需要eval()。 Eval将尝试“执行”与2个括号连接的xml作为javascript,但由于显而易见的原因,它将失败(不是javascript代码 - 无法执行它)。

如果您只想将XML与圆括号连接起来,请不要使用eval():

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