programing

포착되지 않은 TypeError : 정의되지 않은 'createDocumentFragment'속성을 읽을 수 없습니다.

yoursource 2021. 1. 14. 23:25
반응형

포착되지 않은 TypeError : 정의되지 않은 'createDocumentFragment'속성을 읽을 수 없습니다.


웹 페이지를 가져 와서 부트 스트랩 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");

이 코드를 활성화하면 오류가 발생합니다.

포착되지 않은 TypeError : 정의되지 않은 'createDocumentFragment'속성을 읽을 수 없습니다.

여기서 문제는 무엇이며 어떻게 해결할 수 있습니까?

jsfiddle


오류에 대한 이유는이다 $(this).html($link);당신에 .done()콜백.

this콜백에서은 (또는 참조해야하는 위치를 예상하는대로)가 [...]object that represents the ajax settings used in the call ($.ajaxSettings merged with the settings passed to $.ajax)[...]아닌을 $(".btn.btn-navbar")참조합니다.

이 오류는 jQuery를 내부적으로 호출하기 때문에 발생합니다 .createDocumentFragment()ownerDocument당신이 통과 개체의 this당신이 실행할 때 $(this).html($link);하지만 코드에서이 thisDOMElement하지이며,이 없습니다 ownerDocument. 그 때문에 ownerDocument입니다 undefined및 이유 이잖아 createDocumentFragment에 호출됩니다 undefined.

요청에 대한 context옵션 을 사용해야합니다 ajax. 또는 콜백에서 액세스 할 수있는 변수에 변경하려는 DOMElement에 대한 참조 를 저장해야합니다 .


이 오류 this는 DOM 요소가 아닌 ajax 객체를 참조하기 때문에 발생합니다. 이 문제를 해결하려면 다음과 같이 할 수 있습니다.

$('form').on('submit', function(){
    var thisForm = this;

    $.ajax({
        url: 'www.example.com',
        data: {}
    }).done(function(result){
        var _html = '<p class="message">' + result + '</p>';
        $(thisForm).find('#resultDiv').html(_html);
    });
});

참조 URL : https://stackoverflow.com/questions/28177917/uncaught-typeerror-cannot-read-property-createdocumentfragment-of-undefined

반응형