2012-02-26 2 views
0

В моем контроллере у меня есть:Rails Аякса ошибка текст вызова не показывая

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 

Моего Аякс вызов:

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's error может иметь 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)

Смежные вопросы