Javascript 未终止的正则表达式文字错误
我在解析XML文件时遇到了一个Javascript错误。我的代码如下所示:Javascript 未终止的正则表达式文字错误,javascript,xml,jsp,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>
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>
`1234arjel
执行此代码时,我有一个未终止的正则表达式文字错误。有什么问题吗?您正试图使用一段陈旧、缓慢、危险的代码来解析XML,该代码旨在通过将JSON评估为JavaScript来解析它。与JSON不同,XML不是JavaScript的子集,因此在尝试这样做时会出错
只需直接访问
xmlhttp.responseXML
。您正试图使用一段旧的、缓慢的、危险的代码来解析XML,该代码旨在通过将其评估为JavaScript来解析JSON。与JSON不同,XML不是JavaScript的子集,因此在尝试这样做时会出错
直接访问xmlhttp.responseXML
。您不需要eval()。Eval将尝试“执行”包含两个括号的xml作为javascript,但由于明显的原因,它将失败(不是javascript代码-无法执行)
如果您只想用圆括号连接XML,请不使用eval()进行连接:
您不需要eval()。Eval将尝试“执行”包含两个括号的xml作为javascript,但由于明显的原因,它将失败(不是javascript代码-无法执行)
如果您只想用圆括号连接XML,请不使用eval()进行连接:
有关问题中使用的模式的详细信息,请参阅。目标似乎不太可能是获得一个包含括号的XML字符串。有关问题中使用的模式的详细信息,请参阅。目标似乎不太可能是获得一个包含括号的XML字符串。
var det = "(" + xmlhttp.responseText + ")";