我似乎无法从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."}
答案 0 :(得分:1)
想出来。
我的JSON显然格式不正确,属性需要包含在"
中。这给jQuery带来了一个错误。谢谢你的帮助,伙计们。
示例:
{"success": false, "message": "You have already flagged this item."}