我正在尝试使用remote:true创建一个表单 所以它很好用,但我无法得到结果 他们是轻松的方式吗? 我在哪里可以获得我的返回值? 我在javascript很低,我只有jquery :-(
我的表格:
<%= form_tag(test_step2_path, method: :get, remote: true, id: 'ttform', 'data-type' => :json) do %>
在我的javascript中:
ret = document.getElementById('ttform').submit();
和我的控制员:
def step2
respond_to do |format|
format.html {
puts ('*************** result1 *************** ')
return 1
}
format.js {
puts ('*************** result2 *************** ')
return 1
}
end
端
Ps:我也不知道为什么,这是我控制器中的html部分,而不是json
答案 0 :(得分:3)
您应该将方法从:get
更改为:post
。
另请注意,目前您没有使用format.json
但使用format.js
在您可以使用的操作中:render json: {error: true}
(或任何其他json),
并且javascript看起来像这样:
$(document).on("ajax:complete", "#ttform", function(status, response){
response = JSON.parse(response.responseText);
if (response.error)
// error behavior
else
// success behavior
})