0

Ребят. Картина такая:

function Engine(options)
{
    this.messagesPerPage = options.messagesPerPage;
    this.messages = [];
this.start = function()
{

    var that = this;

    var msgs = that.getMessages();

    alert(msgs[0].text);
}

this.getMessages = function()
{
    jQuery.ajax({
        async: true,
        url:'index.php?controller=cBlog&action=getMsgs',
        data: ({
            limit:this.messagesPerPage
        }),
        type: 'POST',
        dataType:'json',
        success: function(data)
        {
            if (data.status == 'ok') 
            {
                return data.messages;
            }
        },
        error: function()
        {
            return false;
        }
    });
}

}

при загрузке страницы отрабатывает метод start() и беда в том, что getMessages() внутри него ничего не возвращает, хотя и отрабатывает как положено. Возвращает корректный json. Запарился уже= Помогите пожалуйста разобраться с тем, что я делаю не так

1 Answers1

5

В вашем коде getMessages() начинает ajax запрос и нечего не возвращает. Результат json приходит в функцию success, которая по идее и должна проделать какую-то работу.

Tolyandre
  • 1,194
  • 6
  • 7