表单提交和返回值(远程:true) - rails方式?

时间:2018-04-18 14:39:38

标签: javascript ruby ajax

我正在尝试使用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

1 个答案:

答案 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 
})