2011-06-14 6 views
0

jquery를 통해 요청이 추가되고 더 많은 게시물이 추가되는 "추가로드"게시물 기능을 빌드하려고합니다. 그것은 모두가 완벽하게 작동Jquery Ajax의 응답을 확인하여 더 많은 게시물로드 기능을 확인하는 방법

function loadMore(pageNo) { 
    var url = '/users?page='; 
    $.get(url + pageNo, function(response) { 
    $("#users").append(response); 
    }); 
} 

$(document).ready(function() { 
    var currPage = 1; 
    $("a.next").click(function() { 
    loadMore(++currPage); 
    }); 
}); 

을,하지만 난 데 문제는로드 더 이상 게시물이있는 경우 응답을 처리 할 수 ​​있습니다 : 기본적으로이 코드를 사용하고 있습니다.

기본적으로 응답을 확인하고 비어있는 경우로드를 숨기는 등의 작업을 수행하는 방법을 알고 있습니다. 응답을 확인하는 데 도움이 필요합니다. 나는이 라인들을 따라 어떤 것을 상상하지만 (일부 의사 코드), 그것을 이해할 수는 없다. 어떤 JQuery와 전문가 :(내 서버가 더 이상 게시물이없는 경우에도 200 코드로 응답로드 더 이상 게시물가 나는 경우에 다르게 서버 응답을 가지고해야

function loadMore(pageNo) { 
    var url = '/users?page='; 
    $.get(url + pageNo, function(response) { 
    if response not blank 
     $("#users").append(response); 
    else 
     hide anchor or change text to "No More Posts" 
    end 
    }); 
} 

? 내가 추측하지 로드 할 게시물이 더 이상없는 경우를 처리하는 적절한 방법을 모르겠다. 지금은 아무 일도 일어나지 않으며 내 앱은 사용자가 사용 가능한 모든 게시물을로드했다는 어떤 피드백 유형도 제공하지 않는다.

감사 잔뜩!

답변

0
function loadMore(pageNo) { 
    var url = '/users?page='; 
    $.get(url + pageNo, function(response) { 
    if (response == "") { 
     $("a.next").hide(); 
    } 
    else { 
     $("#users").append(response); 
    } 
    }); 
} 
+0

권. 그거야. 내가해야 할 일이 있다는 생각이 들었다. 그런 바보 야. 감사. – James

0

거기에 몇 가지 방법에 대해 이것에 대해 갈 수 있지만 당신의 sudo 코드에 무엇이 올바른지. "응답"의 형식에 따라 응답 값을 확인할 수 있습니다. 그것은 그냥 일반 텍스트 또는 html 경우 그냥 빈 문자열에 대해 확인할 수 있습니다.

if(response.have_more) 
{ 
    $("users").append(response.data); 
} 
else 
{ 
    //hide more link 
} 

당신은 PHP에서 JSON 배열을 구축 할 수 있습니다, 나는 개인적으로,이 개 값을 사용하여 서버에서 have_more 플래그와 데이터 플래그를 JSON 개체를 반환 한 다음 지금과 같은 반응을 확인할 수 있습니다 JSON 개체를 사용하여 뭔가 등으로 서버,

<?php 
$query_results = getPosts(offset, amount); 
if(count($query_results) > 0) 
{ 
    $json['data'] = $query_results; 
    $json['have_more'] = true; 
} 
else 
{ 
    $json['have_more'] = false; 
} 
echo json_encode($json); 

에 과잉 여기처럼 보일 수 있지만, 그것은 당신이 미래에 몇 가지 추가 데이터를 반환하기로 결정 특히, 좋은 관행합니다.

+0

좋은 아이디어. 감사! – James

관련 문제