我在解析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>
执行此代码时,我有一个未终止的正则表达式文字错误。可能是什么问题?
答案 0 :(得分:4)
您正在尝试使用旧的,缓慢且危险的代码来解析XML,该代码旨在通过将其评估为JavaScript来解析 JSON 。与JSON不同,XML不是JavaScript的子集,因此当您尝试执行此操作时会出错。
直接访问xmlhttp.responseXML
。
答案 1 :(得分:0)
您不需要eval()。 Eval将尝试“执行”与2个括号连接的xml作为javascript,但由于显而易见的原因,它将失败(不是javascript代码 - 无法执行它)。
如果您只想将XML与圆括号连接起来,请不要使用eval():
var det = "(" + xmlhttp.responseText + ")";