원칙적으로 새로 가져온 모든 메시지를 보관할 컨테이너를 원합니다.
<input type="button" value="Fetch more messages" id="btnFetchMessages" />
장소 DOMReady 내부 어딘가에 인맥 :
var lastFetchedMessage = 0;
$('#btnFetchMessages').click(function() {
$.ajax({
url: '/getMessages.php',
type: 'POST',
contentType: 'application/json; charset=utf-8',
dataType: 'json',
data: '{"lastId":'+lastFetchedMesasge+'"}',
success: newMessagesReceived
});
<div id="messages">
<! -- message 1 -->
<! -- message 2 -->
<div id="newMessages">
</div>
</div>
그런 다음 당신은 당신이 가져 - 더 - 방법까지 연결할 수 있습니다 버튼 (또는 앵커, 또는 무엇이든)을 원하는
버튼을 클릭하면 getMessages.php
에게 AJAX 요청을 제출하고 lastFetchedMessage
을보고 그에 따라 다음 10 개의 메시지를 보냅니다. 해당 페이지에서, 당신은 당신이 관심있는 모든 정보와 메시지를 포함하는 JSON 배열을 반환
을 성공적으로 AJAX의 reques시, newMessagesReceived
가 호출 될 funciton :.
function newMessagesReceived(result) {
var container = $('#newMessages');
for(var i = 0; i < result.length; i++) {
var message = $('<div>' + result[i].body + '</div>');
container.append(message);
}
var lastFetchedMessage = result[i].id;
}
위를 내 최근 프로젝트에서
[ { "body": "new message1", "id": "10" }, { "body": "new message2", "id": "11" } ]
Ajax를 통해 서버에서 이러한 새 메시지를 가져 오나요? – Sampson