【问题标题】:How to pass back using information ajax POST request如何使用信息 ajax POST 请求传回
【发布时间】:2013-03-19 14:34:30
【问题描述】:

目前我正在处理滑块,每张幻灯片都是使用状态机的特定状态。现在从一页开始,我正在使用发送的数据发出发布请求,如果它通过验证,我想将“状态名称”返回到我的视图页面,所以我可以移动幻灯片?

这是更好的方法吗?我选择幻灯片作为状态的原因是我可以运行查询来确定我的客户对某张幻灯片做了多少。

所以目前我正在发出 ajax 发布请求..(忽略部分完成)

$.post("/xxx/tracks", { name: "xx", time: "xx", pa: "xx" }).done(function(data) {
   alert("Data Loaded:" + data);
});

所以现在在我的控制器中

def tracks
 binding.pry
 # some condition determining val accordingly
 respond_to do |format|
   format.json { head :ok } #return val somehow
 end
end

所以我的问题是如何返回一些值?

【问题讨论】:

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


    【解决方案1】:

    如果您不想渲染任何内容,您可以传递 html、文本或只传递响应标头。

    例如Html,只渲染你想要的视图:

    def tracks
     binding.pry
     # some condition determining val accordingly
     render 'tracks' #tracks.html.erb
    end
    
    $.post("/xxx/tracks", { name: "xx", time: "xx", pa: "xx" }, function(data) {
      $("selector").append(data)
    }).error(function(response, data){
      alert('error processing the request')
    })
    

    对于文本:

    def tracks
     binding.pry
     # some condition determining val accordingly
     if expression
       render text: 'success', status: :ok
     else
       render text: 'Error processing your request', status :bad_request
     end
    end
    
    $.post("/xxx/tracks", { name: "xx", time: "xx", pa: "xx" }, function(response, data) {
      alert(data.responseText)
    }).error(function(response, data){
      alert(data.responseText)
    })
    

    只渲染标题

    def tracks
     binding.pry
     # some condition determining val accordingly
     if expression
       head :created
     else
       head :unprocessable_entity
     end
    end
    
    $.post("/xxx/tracks", { name: "xx", time: "xx", pa: "xx" }, function() {
      alert('seccess')
    }).error(function(){
      alert('error')
    })
    

    你也可以渲染json数据。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-03-23
      • 1970-01-01
      • 1970-01-01
      • 2012-06-22
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多