Javascript 设置全局ajax数据类型会中断rails远程链接

Javascript 设置全局ajax数据类型会中断rails远程链接,javascript,jquery,ruby-on-rails,json,coffeescript,Javascript,Jquery,Ruby On Rails,Json,Coffeescript,我创建了一个rails应用程序,它远程提交表单,如果验证未通过,则显示表单验证错误 我的表格做得很好。然而,我发现我的设置方式会破坏任何远程链接。原因是我将全局AJAX数据类型设置为“json”。如果删除此设置,则远程链接可以工作,但不会触发表单“成功”和“失败”事件 这是我的密码 application.js 咖啡 汉密尔顿指数 总结:使用上面的代码,我可以远程提交表单,然后将成功或错误消息记录到我的控制台。但是,远程链接不能与上面定义的“$.ajaxSetup({dataType:'json

我创建了一个rails应用程序,它远程提交表单,如果验证未通过,则显示表单验证错误

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

这是我的密码

application.js 咖啡 汉密尔顿指数 总结:使用上面的代码,我可以远程提交表单,然后将成功或错误消息记录到我的控制台。但是,远程链接不能与上面定义的“$.ajaxSetup({dataType:'json'})”设置一起使用。如果我删除这段代码,链接会工作,但是表单事件不会被触发

有什么想法吗?

您尝试过:

=链接到“新Foo”,新Foo路径(格式::json),数据:{remote:true}


请准确描述哪些不适用于远程链接?500404,不是javascript阻止的默认?

您需要提交表单,而不是指向操作的链接。如果希望提交表单数据,请使用
表单标签
提交
提交标签查看帮助程序

= form_tag (new_foo_path, remote: true) do
  = submit_tag("New Foo")
链接到
将创建一个不知道表单数据的锚定标记。如果要将表单按钮样式化为链接:

= submit_tag("submit", style: 'display: none;', id: 'submit_foo')
= link_to( "New Foo", "#", :onClick => "$('#submit_foo').click(); return false;" )

= link_to "New Foo",new_foo_path, data: { remote: true}
= form_tag (new_foo_path, remote: true) do
  = submit_tag("New Foo")
= submit_tag("submit", style: 'display: none;', id: 'submit_foo')
= link_to( "New Foo", "#", :onClick => "$('#submit_foo').click(); return false;" )