jQuery로 ajax 위에 XHTML 조각을로드합니다
문제
jQuery의 XHTML 마크 업 조각을로드하려고합니다. $.fn.load
기능이지만 새로운 마크 업을 DOM에 추가하려는 오류가 발생합니다. 나는 이것을 XML 선언으로 좁혔다 (<?xml...?>
) - 선언없이 정적 텍스트를 반환하면보기가 작동합니다. 이것이 왜 이것이 실패를 유발하는지 또는 jQuery, Firefox 또는 내 코드에 있는지 이해하지 못합니다.
jQuery를 사용하여 XHTML 조각을 DOM에 어떻게 삽입해야합니까?
$ .get을 사용하여 작동하지 않습니다. 콜백은 Document
객체, 그리고 DOM에 삽입하려고하면 다음 오류가 발생합니다.
uncaught exception: Node cannot be inserted at the specified point in the hierarchy (NS_ERROR_DOM_HIERARCHY_REQUEST_ERR)
http://localhost:8000/static/1222832186/pixra/script/jquery-1.2.6.js
Line 257
이것은 내 코드입니다.
$body = $("#div-to-fill");
$.get ("/testfile.xhtml", undefined, function (data)
{
console.debug ("data = %o", data); // data = Document
$body.children ().replaceWith (data); // error
}, 'xml');
샘플 응답 :
<?xml version="1.0" encoding="UTF-8"?>
<div xmlns="http://www.w3.org/1999/xhtml">
<form action="/gallery/image/edit-description/11529/" method="post">
<div>content here</div>
</form>
</div>
해결책
대신 시도해보십시오 (방금 빠른 테스트를했는데 작동하는 것 같습니다) :
$body = $("#div-to-fill");
$.get ("/testfile.xhtml", function (data)
{
$body.html($(data).children());
}, 'xml');
기본적으로 .children ()은 루트 노드를 가져 와서 DIV의 내용을 교체합니다. XML 문서를
제휴하지 않습니다 StackOverflow