Как правильно загрузить прошлые комментарии? - PullRequest
0 голосов
/ 14 марта 2011

Я сейчас пытаюсь сделать функцию загрузки предыдущих комментариев. Я использую ajax, и у меня возникают проблемы, пытаясь заставить событие onClick работать. Есть идеи?

Код HTML:

<div id="workroom_boxes_chatpast" align="center">
    <a href="javascript:void(0);" onClick="return getMessages();">Load older chats...</a>
</div>
<div id="chat_cleaner"></div>
<div id="chatcontent" align="center">Loading...</div>

Сценарии

function getMessages(){
    $("#workroom_boxes_chatpast").html('<img src="{{ MEDIA_URL }}images/ui-anim_basic_16x16.gif"/>&nbsp; Loading...');

    $.ajax({
        url: "/recent/messages/{{ chat.key.id }}",
        cache: false,
        success: function(html){
            $("#chatcontent").html(html);
            $("#workroom_boxes_chatpast").hide();
        }
    });

    setTimeout('getMessages()', 4000);
});

Ответы [ 3 ]

0 голосов
/ 14 марта 2011
Функция

getMessages ничего не возвращает, поэтому не пишите return getMessages() в onclick.Возможно, вы захотите написать:

onclick="getMessages(); return false;"

, чтобы предотвратить переход в некоторых браузерах.

0 голосов
/ 14 марта 2011
var status="notloaded"; 

function getMessages(){

    $('#loading').hide();           

    if(status == "notloaded")
    {
        var myurl = "/recent/messages/id/10/status/notloaded"
        /**
        load older message
        **/
        status = "loaded"
    }
    else{
        var myurl = "/recent/messages/id/10/status/loaded"
        /**
        do not load older message
        **/
    }       

    $.ajax({
        url: myurl,
        /**
        Load new message
        **/
        cache: false,
        success: function(html){

            $('#loading').hide();
            $("#workroom_boxes_chatpast").hide();

        }
    });

    setTimeout('getMessages()', 4000);
});
0 голосов
/ 14 марта 2011

Просто выстрел в темноте, но измените $("#chatcontent").html(html); на $("#chatcontent").html(html.d);

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...