当我尝试将 $.get()
的 XHTML 结果 append()
到容器元素时,
$.get("my-webservice", function(data){
$("#some-container").append(data);
});
我收到错误:
TypeError: 'null' is not an object (evaluating 'e.ownerDocument')
我也尝试过:
$("#some-container").append($(data));
并得到相同的错误。 load()
工作正常,所以我知道 Web 服务正在返回良好的数据:
$("#some-container").load("my-webservice");
在 Web 服务端,如果我在返回 $.get()
之前将 XHTML 编码为字符串,则一切都会按预期工作。 append()文档说它接受字符串、DOM 元素或 jQuery 对象 - 我怀疑我在这方面遇到了错误。有什么建议吗?
网络服务只是返回一些简单的引导 XHTML:
<div class="row">
<div class="span5">Div stuff</div>
<div class="span4">More div stuff</div>
</div>
最佳答案
当您使用 $.get
函数而不指定 dataType
时,jQuery 会尝试对返回的文档类型做出最佳猜测。作为 $.get
函数的最后一个参数,尝试添加“html”来指定 dataType
。请参阅jQuery documentation了解更多信息。
$.get("my-webservice", function(data){
$("#some-container").append(data);
}, 'html');
关于jQuery 追加获取 XHTML 结果失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15464374/