JQuery通过AJAX发布表单不会触发rails respond_to format.js

时间:2013-09-06 19:09:47

标签: jquery ajax ruby-on-rails-4

我有一个简单的表格和param的订单。当我的下拉列表发生变化时,我称之为:

$.post("/busca", $("#order_form").serialize(), dataType: "script")

在rails控制器端,我有一个简单的format.js来处理ajax调用。 事情是,这是行不通的。 <{1}}模板永远不会呈现。

我的日志显示js.erb,我不知道Processing by BuscaController#index as */*代表什么。有人能帮助我吗?

2 个答案:

答案 0 :(得分:18)

好的,我明白了。如果你有这样的respond_to块:

respond_to do |format|
  format.html
  format.js
end

它无效。您需要首先设置js响应而不是HTML响应。不要问我为什么。 这是适合我的那个:

respond_to do |format|
  format.js
  format.html
end

答案 1 :(得分:0)

似乎所有帖子参数都是强制性的:

jQuery.post( url [, data ] [, success(data, textStatus, jqXHR) ] [, dataType ] )

我这样做时能得到js:

$.post("/busca", $("#order_form").serialize(), function() { }, "script")

无论format.x订单