0
我似乎無法執行AJAX調用任何代碼或利用JSON響應。我錯過了什麼?這個調用是成功的,我可以在Firebug中看到腳本在服務器端執行正常,但我似乎無法對返回的數據做任何事情。如何利用來自AJAX調用的JSON響應數據?
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
屬性作爲支票。
UPDATE:
我加入error
塊;看起來是這樣的:
error: function (request, status, error) {
alert(request.responseText);
}
其結果是,我得到的是說一個警告:
{success: false, message: "You have already flagged this item."}
會發生什麼呢?此外,如果你非常粗略地提出了一個警告(數據),「你有什麼有趣的嗎? – nico 2010-12-20 00:40:04
這是一件奇怪的事情:無論是「alert(data)」還是「alert('blah')」,「success」區域中的代碼似乎都不會執行。 – dclowd9901 2010-12-20 00:42:07
如果'success'中沒有任何事情發生,請嘗試添加一個'error'處理程序。如果出現某種錯誤,任何迴應將被「成功」忽略。 – zsalzbank 2010-12-20 00:46:10