Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/53.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
rails—有没有关于在jquery中通过json提交表单的好例子?_Jquery_Ruby On Rails_Json - Fatal编程技术网

rails—有没有关于在jquery中通过json提交表单的好例子?

rails—有没有关于在jquery中通过json提交表单的好例子?,jquery,ruby-on-rails,json,Jquery,Ruby On Rails,Json,我想用json向我的rails应用程序添加一些ajax功能。 我想做的只是创建一个表单,获取数据输入。 提交表单后,我想获取json格式的响应 更新屏幕而不重新呈现表单 当我浏览这个网站时,我还没有找到一个能解释这个概念的网站 全面的 你能给我指出一些网上的资料或书籍,让我一步一步地达到想要的结果吗? 如果您说明您遇到的问题,尤其是添加:remote=>true是其中的主要问题,那将更有帮助。 如果您说明您遇到的问题,尤其是添加:remote=>true是其中的主要问题,那将更有帮助。这是一个非

我想用json向我的rails应用程序添加一些ajax功能。 我想做的只是创建一个表单,获取数据输入。 提交表单后,我想获取json格式的响应 更新屏幕而不重新呈现表单

当我浏览这个网站时,我还没有找到一个能解释这个概念的网站 全面的

你能给我指出一些网上的资料或书籍,让我一步一步地达到想要的结果吗?

如果您说明您遇到的问题,尤其是添加
:remote=>true
是其中的主要问题,那将更有帮助。


如果您说明您遇到的问题,尤其是添加
:remote=>true
是其中的主要问题,那将更有帮助。

这是一个非常简单的概念:

  • 使用表单助手(假设Rails 3)设置
    :remote=>true
    选项
  • 确保布局中有适当的jQuery UJS/Rails.js文件。它将自动锁定助手在表单上生成的
    数据远程
    属性,并通过AJAX提交该表单
  • 修改控制器操作以返回JSON(见下文)
  • 使用JS中提供的回调/钩子来处理响应(见下文)
  • 例如:

    # app/controllers/foo_controller.rb
    def create
      @foo = Foo.new(params[:foo])
      if @foo.save 
        respond_to do |format|
          format.html
          format.json { render :json => @foo }
        end
      else
        respond_to do |format|
          format.html { render :action => :new }
          format.json { render :json => { :errors => @foo.errors } }
        end
      end
    end
    
    # app/assets/javascripts/application.js.coffee
    $(document).on 'ajax:success', 'form[data-remote]', (xhr, data, status) ->
      # do something with `data`, which is a JS object from your JSON response
      # console.log data
    

    这是一个非常简单的概念:

  • 使用表单助手(假设Rails 3)设置
    :remote=>true
    选项
  • 确保布局中有适当的jQuery UJS/Rails.js文件。它将自动锁定助手在表单上生成的
    数据远程
    属性,并通过AJAX提交该表单
  • 修改控制器操作以返回JSON(见下文)
  • 使用JS中提供的回调/钩子来处理响应(见下文)
  • 例如:

    # app/controllers/foo_controller.rb
    def create
      @foo = Foo.new(params[:foo])
      if @foo.save 
        respond_to do |format|
          format.html
          format.json { render :json => @foo }
        end
      else
        respond_to do |format|
          format.html { render :action => :new }
          format.json { render :json => { :errors => @foo.errors } }
        end
      end
    end
    
    # app/assets/javascripts/application.js.coffee
    $(document).on 'ajax:success', 'form[data-remote]', (xhr, data, status) ->
      # do something with `data`, which is a JS object from your JSON response
      # console.log data