javascript - rails redirect_to 格式 html 在 js 中发送响应

标签 javascript html ruby-on-rails redirect

我在我的一些 Controller 中创建了一个 before_filter 以将关键字搜索重定向到父 Controller

很简单:

  before_filter :redirect_search
  def redirect_search
    redirect_to controller: "buildings", action: "index", format: "html" if params[:q].present?
  end

请注意,keyword_search 以“js”格式发送

似乎一切正常。当我查看服务器时,我可以看到 buildings/index 正在运行并且页面已呈现,但浏览器中没有任何反应。

在浏览器的控制台中我看到了这个

GET http://localhost:3000/buildings.html 200 OK

它在响应正文中有html页面

这意味着 buildings/index 作为 html 运行,然后作为 js 发送到浏览器。

为什么会这样?我该如何解决?

最佳答案

试试

def redirect_search
     respond_to do |format|
            format.html {redirect_to buildings_path} if params[:q].present?
            format.js {render :js => "window.location.href='"+buildings_path+"'"} if params[:q].present?
     end
end

关于javascript - rails redirect_to 格式 html 在 js 中发送响应,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18629811/

相关文章:

javascript - Angular - 依赖字段验证

javascript - 为什么放置在</body>和&lt;/header&gt;之后的JS脚本会被执行?

ruby-on-rails - 很抱歉,出了点问题(Ruby on Rails)

javascript - iOS 5 风格切换控制

javascript - 如何直接从 javascript 访问和修改现有的 Bokeh 图元素?

css - 如何在网页中检测它正在移动 safari 或 websheet 上运行

ruby-on-rails - 基于自连接的 Ruby on Rails 路由

ruby-on-rails - 回形针 - 单击缩略图以在弹出窗口中显示原始图像

javascript - Highstock/Highchart 无法设置单个点颜色

Javascript Ajax 未在 php (PDO) 中的下拉选择标签中获取数据