여기 누군가가 나를 도울 수 있기를 바랍니다. 저는 JQuery 나 자바 스크립트를 많이 사용하지 않습니다. 저는 PHP에 더 가깝습니다. 실제로 JQuery를 사용하여 UL에 콘텐츠를 추가하는 것을 제외하고는 작동하는 것처럼 보이는 코드가 있습니다. 방화범에서 로그를 보면 올바른 데이터를 다시 가져 오는 것을 볼 수 있지만 실제로 데이터는 페이지에 입력되지 않습니다. 나는 운없이 .html, .load 및 .append를 시도했습니다. 항상 .load의 php 스크립트에서 초기 HTML을로드하지만 데이터가 항상 동일하더라도 .append 또는 .html이 작동하는지 여부에 대해서는 문제가 있습니다. 내가 가진 것은 다음과 같습니다.
$(document).ready(function(){
var page = 1;
$('#favoritesul').load("/custom/getfavorites.php"); //initial load
//load more on click
$('#favoritesul').on( "click", "a.paginated", function (e) {
e.preventDefault();
++page; //increment page counter
//temporarily hide the load icon
$('#favoritesul > a.paginated').remove();
//send AJAX
$.ajax({
type: 'POST',
dataType: 'html',
url: '/custom/getfavorites.php',
data: { page: page}
})
.done(function(data) {
$('#favoritesul').append(data);
$('#favoritesul').append('<a href="#" class="paginated"><i class="icon-undo"></i>LOAD MORE</a></ul>');
})
.fail(function(){
alert('post failed');
});
});
});
내가 말했듯이 console.log하고 AJAX 응답을 보면 내가 기대하는 HTML이 표시되고 HTML의 내용을 추가하거나 대체하지 않습니다. 명확성을 위해 추가하려는 HTML의 내용은 다음과 같습니다.
<li class='data-item'><div class='test'><div class='padding'><div class='image-container'><a href='pagelink.php'><img class='image' src='imagesource.jpg' /></a></div><div class='header'><h2 class='heading'><a href='pagelink.php'>Video</a></h2></div></div></div></li>
그리고 기존 페이지의 관련 부분은 첫 번째 .load 이벤트 이전에 다음과 같습니다.
<div class='clear'></div><ul id='favoritesul' class='someclasses'></ul>
미리 도와 주셔서 감사합니다!
done()
핸들러에 잘못된 HTML이 있습니다 . 첫째 #favoritesul
는 UL이고, 앵커를 그것에 추가 할 수없고 LI 만 추가 할 수 있으며, 둘째, 닫는 </ul>
태그 만 포함하여 수행하려는 것처럼 부분 요소를 추가 할 수 없습니다 .
유효한 HTML을 추가해보십시오.
.done(function(data) {
var li = $('<li />');
li.append(data);
li.append('<a href="#" class="paginated"><i class="icon-undo"></i>LOAD MORE</a>');
$('#favoritesul').append(li);
})
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다