【发布时间】:2016-12-25 21:36:32
【问题描述】:
我创建了一个远程提交表单的 Rails 应用程序,如果验证未通过,则显示表单验证错误。
我的表单完美无缺。然而,我发现我设置它的方式会破坏任何远程链接。原因是我将全局 AJAX 数据类型设置为“json”。如果我删除此设置,我的远程链接可以工作,但不会触发我的表单“成功”和“失败”事件。
这是我的代码...
application.js
$.ajaxSetup({
dataType: 'json'
})
foo.coffee
$('#foo_form').on('ajax:success', (e, data, status, xhr) ->
console.log 'Great success'
).on 'ajax:error', (e, data, status, xhr) ->
console.log('Great Failure')
index.haml
= link_to "New Foo",new_foo_path, data: { remote: true}
总结一下:使用上面的代码,我可以远程提交表单,之后成功或错误消息都会记录到我的控制台。但是,远程链接不适用于上面定义的 '$.ajaxSetup({dataType: 'json'})' 设置。如果我删除这段代码,链接可以工作,但不会触发表单事件。
有什么想法吗?
【问题讨论】:
标签: javascript jquery ruby-on-rails json coffeescript