Я использую Ruby on Rails v3.0.9 и jQuery v1.6.1.Я хотел бы обработать (используя jQuery) данные ответа JSON, когда HTTP-запрос AJAX возвращает error
(см. Код ниже для получения дополнительной информации), чтобы отобразить @user.errors
сообщения.То есть ...
... в контроллере у меня есть:
render :json => @user.errors,
:status => 400
... в файле просмотра у меня:
$jQ.ajax({
type: '...',
url: '...',
dataType: 'json',
data: '...',
error: function(jqXHR, textStatus, errorThrown) {
// Here is where I would like to handle the above mentioned `@user.errors`
// array (that is related to the "Ruby on Rails Way" of handling errors).
//
// I tried to use 'alert(jqXHR.base);' but the `@user.errors` array is always
// returned as a string.
alert(...)
},
success: function(data, textStatus, jqXHR) {
...
}
});
Есть способ изменить вышеуказанный код, чтобы использовать что-то вроде следующего для отображения ошибок?
# Supposing that'@user.errors' is '{"base":["already exist"]}'
alert(jqXHR.base);
Примечание: В двух словах я хотел бы обрабатывать данные как сделанныекогда я получаю успешные данные HTTP-запроса AJAX (function(data, textStatus, jqXHR)
позволяет мне использовать JSON-анализ data
, например, так: alert(jqXHR.base);
).