Как использовать данные ответов JSON от вызова AJAX? - PullRequest
0 голосов
/ 20 декабря 2010

Я не могу выполнить какой-либо код из вызова AJAX или использовать ответ JSON.Что мне не хватает?Вызов выполнен успешно, и я вижу в Firebug, что скрипт отлично работает на стороне сервера, но я не могу ничего сделать с данными, которые возвращаются.

review.single = {
    id: null,
    ip: null,
    el: null,
    addFlag: function(){
        if(this.id && foo.user_id){
            $.ajax({
                type: 'post',
                url: '/reviews/add_flag/',
                data: ,
                dataType: 'json',
                success: function(data){
                    if(data.success){
                        this.el.text('Flagged');
                        this.el.css({
                            'text-indent': none,
                            backgroundColor: '#c00',
                            color: '#fff'
                        })
                    } else {
                        $('#growl').text(data.message);
                        $('#growl').fadeIn(500).delay(5000).fadeOut(200);
                    }                   
                }
            })
        }
    }   
}

Я получаю это обратнона один из типов ответа на вызовы:

{success: false, message: "You have already flagged this item."}

В идеале я хотел бы иметь возможность взять сообщение, бросить его в рычание и показать его, а также использовать свойство success в качестве проверки.

ОБНОВЛЕНИЕ:

Я добавил блок error;выглядит так:

error: function (request, status, error) { 
    alert(request.responseText); 
}

В результате я получаю предупреждение:

{success: false, message: "You have already flagged this item."}

1 Ответ

1 голос
/ 20 декабря 2010

Понял.

Мой JSON был явно отформатирован неправильно, и свойства нужно было обернуть в ".Это вернуло ошибку обратно в jQuery.Спасибо за помощь, ребята.

Пример:

{"success": false, "message": "You have already flagged this item."}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...