如何利用AJAX调用中的JSON响应数据?

时间:2010-12-20 00:38:33

标签: jquery ajax json response

我似乎无法从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 个答案:

答案 0 :(得分:1)

想出来。

我的JSON显然格式不正确,属性需要包含在"中。这给jQuery带来了一个错误。谢谢你的帮助,伙计们。

示例:

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