gpt4 book ai didi

javascript - 未捕获的类型错误 : Cannot read property 'createDocumentFragment' of undefined

转载 作者:IT王子 更新时间:2023-10-29 02:58:22 25 4
gpt4 key购买 nike

我正在尝试获取网页并加载到 bootstrap 2.3.2 弹出窗口中。到目前为止,我有:

$.ajax({
type: "POST",
url: "AjaxUpdate/getHtml",
data: {
u: 'http://stackoverflow.com'
},
dataType: 'html',
error: function(jqXHR, textStatus, errorThrown) {
console.log('error');
console.log(jqXHR, textStatus, errorThrown);
}
}).done(function(html) {
console.log(' here is the html ' + html);

$link = $('<a href="myreference.html" data-html="true" data-bind="popover"'
+ ' data-content="' + html + '">');
console.log('$link', $link);
$(this).html($link);

// Trigger the popover to open
$link = $(this).find('a');
$link.popover("show");

当我激活此代码时出现错误:

Uncaught TypeError: Cannot read property 'createDocumentFragment' of undefined

这里有什么问题,我该如何解决?

jsfiddle

最佳答案

错误的原因是 $(this).html($link); 在你的 .done() 回调中。

回调中的

this 引用代表调用中使用的 ajax 设置的 [...] 对象($.ajaxSettings 与传递给 $.ajax 的设置合并)[ ...] 而不是 $(".btn.btn-navbar") (或者任何你期望它应该引用的地方)。

错误被抛出是因为当你执行$(this).html($link); 但在您的代码中 this 不是 DOMElement,并且没有 ownerDocument。由于 ownerDocumentundefined,这就是为什么 createDocumentFragmentundefined 上被调用的原因。

您要么需要使用 context ajax 请求的选项。或者您需要将对要更改的 DOMElement 的引用保存在一个您可以在回调中访问的变量中。

关于javascript - 未捕获的类型错误 : Cannot read property 'createDocumentFragment' of undefined,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28177917/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com