2012-02-26 16 views
0

在我的控制,我有:Rails的AJAX錯誤提示文字不顯示

def rate 
    @konkurrencer = Rating.where(:IP => @ip, :konkurrencer_id => params[:id]) 
    if @konkurrencer.empty? 
    render :nothing => true 
    else 
    render :status => 500, :text => "This server hosted at sadasa" 
    end 
    end 
end 

我的Ajax調用:

jQuery.ajax({ 
      url: frm.attr('action'), //your server side script 
      data: frm.serialize(), //our data 
      type: 'POST', 
      success: function (data) { 
      $('.warning').fadeIn(500).css({display: 'block', 
       position: 'absolute', 
       left: position.left + 50, 
       top: position.top - 25 
      }).html('Du har stemt').fadeOut(1000), 
      $(ri).next('.ratingcount').html('asdasdasd') 
      }, 
      error: function (msg) { 
       alert(msg); //something went wrong. 
      } 
     }); 

的問題是,在警報顯示的信息是[object Object]而不是文字This server hosted at sadasa

回答

3

這可能發生,主要是因爲jQuery ajax的錯誤函數可能有3個參數:error(jqXHR, textStatus, errorThrown)。第一個是XMLHttpRequest對象。查看更多:http://api.jquery.com/jQuery.ajax/

解決方案 嘗試更換你的錯誤函數:

error: function (responseObject) { 
    alert(responseObject.responseText); //something went wrong. 
} 

希望幫助!

2

變化alert(msg)alert(msg.responseText)