在 .erb 视图中考虑以下形式:
<%= form_tag(harvester_next_url, :method => "post", :remote => true, "data-type" => :json, :id => "answerForm") do %>
<div id="dynamicFormContent"></div>
<% end %>
在某些情况下,我想在next
方法
中发出一个 JS 回调render :js => "window.location = '#{definitions_path}'"
但是,这不会在浏览器中执行。响应在正文中有“window.location ...”,并且content-type
设置为text/javascript
,请求accept
也有text/javascript
。
Rails 版本是 3.2.8。
一些附加信息:我不想将表单操作切换为使用 JS 格式,因为 JS 回调代码只是来自控制器的可能响应之一。另一次,我需要一些 JSON 来处理。
问题:是否有可能在不使用客户端重定向(即从 JSON 响应中获取 window.location)等的情况下使其工作?AFAIK,这适用于非远程表单。
ADD它status = "parsererror"
在 XHR 完成时结束。显然,这是因为 jQuery 尝试将响应解析为 JSON,即使它是text/javascript
. 这个问题仍然悬而未决。