Javascript JQuery-Random";XML分析错误:不匹配的标记;
我有以下(jquery)javascript:Javascript JQuery-Random";XML分析错误:不匹配的标记;,javascript,jquery,ajax,xml,parsing,Javascript,Jquery,Ajax,Xml,Parsing,我有以下(jquery)javascript: $.ajax({ type: "GET", url: "%URL HERE%", dataType: "xml", async: false, success: function(xml) { console.log(xml); var root = $(xml).find("root"); var child = root.find("child"); console.log(child);
$.ajax({
type: "GET",
url: "%URL HERE%",
dataType: "xml",
async: false,
success: function(xml) {
console.log(xml);
var root = $(xml).find("root");
var child = root.find("child");
console.log(child);
},
error: function(){
console.log("error encountered while fetching xml");
}
});
它获取以下XML文件:
<?xml version="1.0" encoding="UTF-8"?>
<root>
<child id="test1">Content</child>
</root>
内容
它做了它应该做的事情,除了在成功执行代码并记录正确的数据之后,控制台中会弹出以下错误:
XML分析错误:标记不匹配。应为:
。
地点:
第1行第15列:
我完全搞不清楚是什么导致了这个错误。实际的脚本运行成功,我的文件中没有出现
(或
)
在隔离之后,这是文件中剩下的唯一javascript(以及到jquery cdn的链接),因此它也不是另一段代码抛出它的情况
它似乎根本不会中断代码,只是在完成ajax调用后每次都会出现一个随机错误,特别是在完成$(xml.find(“root”)
之后。如果我把它注释掉,ajax请求就会发生,但是错误不会弹出——但是我的代码显然也不起作用
我希望任何人都能告诉我为什么会出现这个错误,因为我已经盯着这个问题看了好几个小时了,我似乎越来越不理解它了……在使用较新版本的jQuery之后,错误就不再出现了。我以前使用过jQuery 1.10.1,现在是3.3.1,这样就消除了错误。您是否尝试过
console.log()
错误发生时的响应,以确保返回的XML与您期望的完全一致?是的,如示例代码中所示,我记录了XML,它似乎返回了应该返回的XML。错误发生在所有成功完成之后。是否每次执行此代码时都会显示错误?也就是说,这可能是您的HTML的问题,或者是将消息转储到控制台的浏览器插件的问题?如果每次运行和重新运行这段代码(不是重新加载页面,只是执行这段代码)时都会显示,那么很可能是由这段代码引起的。是的,每次执行这段代码时都会出现这种情况。如果我每次运行4次,错误也会弹出4次。我把这段代码放在一个完全基本的HTML文件(空的主体和内容)中,以排除任何与HTML相关的问题,但它仍然会发生。此外,我不使用浏览器插件,但即使这样,我也会使用跨浏览器的插件。jQuery版本?