javascript - 设置全局 ajax 数据类型会破坏 rails 远程链接

标签 javascript jquery ruby-on-rails json coffeescript

我创建了一个远程提交表单的 Rails 应用程序,然后在验证未通过时显示表单验证错误。

我的表格完美无缺。然而,我发现我设置它的方式会破坏任何远程链接。这样做的原因是我将全局 AJAX 数据类型设置为“json”。如果我删除此设置,我的远程链接可以工作,但不会触发我的表单“成功”和“失败”事件。

这是我的代码...

应用程序.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')

索引.haml

= link_to "New Foo",new_foo_path, data: { remote: true}

总结一下:使用上面的代码允许我远程提交表单,之后成功或错误消息都会记录到我的控制台。但是,远程链接不适用于上面定义的 '$.ajaxSetup({dataType: 'json'})' 设置。如果我删除这段代码,链接会起作用,但不会触发表单事件。

有什么想法吗?

最佳答案

你试过吗:

= link_to "New Foo", new_foo_path(format: :json), 数据: {remote: true}

请准确描述远程链接无法正常工作的原因是什么? 500、404,javascript 没有阻止默认?

关于javascript - 设置全局 ajax 数据类型会破坏 rails 远程链接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39026938/

相关文章:

php - 无法删除动态添加的 div(由旧 div 触发的事件)

ruby-on-rails - 我可以在 Ruby on Rails 中将 attr_accessible 用于 PayPal IPN 吗?

php - 如何显示来自其他站点的 RSS 提要

javascript - 我可以使用 React 应用程序作为静态 HTML 页面上的组件吗

javascript - jQuery 选项卡已加载但在 WordPress 中不起作用

javascript - jQuery 验证复选框单击禁用 TextBox?

javascript - 处理可能因多种原因而失败的 jQuery Promise

ruby-on-rails - 删除 RABL 中的子根节点

ruby-on-rails - Rails paperclip-dropbox 未上传到 Dropbox

javascript - 何时以及为何需要 background.html 或 background.js?