【问题标题】:Rails 5: how to respond_to js after redirect?Rails 5:重定向后如何响应 js?
【发布时间】:2016-08-20 21:08:34
【问题描述】:

在旧的 Rails 4.2 上,我曾经通过 ajax 提交我的远程:真实表单

$.ajax
   type: 'POST'
   url: post_url
   data: $("##{instance_type}-modal-form").serialize() + '&redirect_url=' + redirect_url
   dataType: 'script'

在我的控制器中,如果redirect_url 存在,我正在重定向

if params[ :redirect_url ]
  format.html { redirect_to params[ :redirect_url ] }
  format.js { redirect_to params[ :redirect_url ] }
...

我曾经被重定向到 new.js.coffee 模板。但是现在,在 5.0.0.1 上它重定向到 HTML

    Started PATCH "/call_journals/111" for 127.0.0.1 at 2016-08-21 00:02:06 +0300
Processing by CallJournalsController#update as JS
.........

Redirected to http://localhost:3000/partners/new?call_journal_id=111
Completed 200 OK in 33ms (ActiveRecord: 3.1ms)

Started GET "/partners/new?call_journal_id=111" for 127.0.0.1 at 2016-08-21 00:02:06 +0300
Processing by PartnersController#new as HTML
  Parameters: {"call_journal_id"=>"111"}

我该怎么做才能解决这个问题?

【问题讨论】:

    标签: javascript ruby-on-rails ruby-on-rails-4


    【解决方案1】:

    解决方案

    重定向后,您不能使用format.js 进行用户响应。因为要使用javascript 响应,您的应用程序需要在不重定向页面的情况下获取 ajax 请求或远程调用。但你可以使用json 格式。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-01-27
      • 2020-07-18
      • 2018-11-23
      • 2014-04-11
      • 1970-01-01
      • 2019-07-18
      相关资源
      最近更新 更多