Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ajax/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jquery 如何利用来自AJAX调用的JSON响应数据?_Jquery_Ajax_Json_Response - Fatal编程技术网

Jquery 如何利用来自AJAX调用的JSON响应数据?

Jquery 如何利用来自AJAX调用的JSON响应数据?,jquery,ajax,json,response,Jquery,Ajax,Json,Response,我似乎无法从AJAX调用执行任何代码,也无法利用JSON响应。我错过了什么?调用成功了,我可以在Firebug中看到脚本在服务器端执行得很好,但我似乎无法处理返回的数据 review.single = { id: null, ip: null, el: null, addFlag: function(){ if(this.id && foo.user_id){ $.ajax({

我似乎无法从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: function (request, status, error) { 
    alert(request.responseText); 
}
因此,我收到一条警告,上面写着:

{success: false, message: "You have already flagged this item."}
我明白了

我的JSON显然格式不正确,属性需要包装在
”中。这将一个错误返回到jQuery。谢谢大家的帮助

例如:

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

那么会发生什么呢?如果你粗略地输入一个
警报(数据);
你有什么有趣的事情吗?这是一件奇怪的事情:
success
区域中的所有代码似乎都没有执行,无论我是输入一个
警报(数据)
还是
警报('blah')
。如果
success
中没有发生任何事情,请尝试添加
错误处理程序。如果出现某种错误,
success
将忽略任何响应。是否确定调用成功?您的数据参数似乎没有正确的sintax,可能是
数据:{},
会更好…您是否尝试添加错误块(即,
错误:函数(请求、状态、错误){alert(request.responseText);}
)?此外,您是否使用Firebug检查了请求?