【发布时间】:2011-04-06 22:04:13
【问题描述】:
我正在使用 Rails 3 和 JQuery 1.4.2 并试图绑定到给定远程表单提交的 ajax:failure 回调。回调工作正常,但是,传回的 xhr 变量似乎以某种方式丢失了 responseText 属性。
我的代码如下所示:
_form.html.haml
= form_for(object, :remote => true) do |f|
= form fields and such...
Javascript 某处...
$('form').livequery('ajax:loading', function() {
// what to do on ajax loading
}).livequery('ajax:success', function(data, status, xhr) {
}).livequery('ajax:failure', function(xhr, status, error) {
alert(xhr.responseText);
});
我基本上是从控制器呈现对象的错误消息,以便我可以在此回调上显示错误通知。奇怪的是我进入 rails.js,第 49-51 行
error: function (xhr, status, error) {
el.trigger('ajax:failure', [xhr, status, error]);
}
并手动写入控制台 responseText,它的工作方式符合我的预期。
我做错了吗? xhr 对象将如何从 rails.js 更改为我的绑定?
【问题讨论】:
标签: jquery ajax events callback ruby-on-rails-3