Текст вызова ошибки Rails ajax не отображается - PullRequest
0 голосов
/ 26 февраля 2012

В моем контроллере у меня есть:

  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

Ответы [ 2 ]

3 голосов
/ 26 февраля 2012

Это может произойти главным образом потому, что функция ошибок jQuery ajax может иметь 3 аргумента: error(jqXHR, textStatus, errorThrown). Первый - это объект XMLHttpRequest. Подробнее: http://api.jquery.com/jQuery.ajax/

Решение Попробуйте заменить функцию ошибки на:

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

Надеюсь, это поможет!

2 голосов
/ 26 февраля 2012

Изменить alert(msg) на alert(msg.responseText)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...