我的问题其实很简单,但尽管如此,我需要有个深入的知识在这里。 想象一下下面这个简单的任务:加载/解析某些外部HTML数据到当前的HTML文件的元素。
比方说,这是外部文件的内容,我们要检索:
<div id="element">
<img src="test.jpg"><br>
lorem ipsum
</div>
这是使用jQuery .load代码
$("#div_in_mother_html").load("external.html #element");
就像风情万种。
但看在控制台中,我看到了以下错误 :
1. mismatched tag. Expected: <br />
2. mismatched tag. Expected: <img />
这是为什么?
嗯,很显然,.load是jQuery中为阿贾克斯的简写,也就是,据我了解,跨浏览器的XMLHttpRequest。 这可能会导致不匹配的标签problemss,对HTML标签不关闭,不像XHTML:
HTML - <img src="test.jpg"><br>
XHTML - <img src="test.jpg" /><br />
接下来尝试
好吧,我说,它必须能够解析XML不是HTML,但。 是的,jQuery的的文档是这么说的,也是。 我从.load到更先进的.ajax的切换,并试图手动设置数据类型:
$.ajax({ type:'GET', url:'ajax.txt', contentType: "text/plain; charset=utf-8",
dataType:'text', success:function(data){
$('#div_in_mother_html').html(data); }
});
再次,它的工作原理......但同样无记载错误在控制台中显示出来。
错误在本地环境火狐浏览器32台看到。