考虑.erb视图下执行形式:轨JS回调不与远程JSON形式(jQuery的UJS)
<%= 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当XHR完成时,它以status = "parsererror"
结束。显然,这是因为jQuery试图将响应解析为JSON,即使它是text/javascript
。问题仍然存在。
的一点是,我正在寻找从JSON响应有些不显眼的方式:)获取URL将工作正如你所说的,但我想弄清楚什么是错用“JS渲染”的方法。这完全不可能吗?它是一个错误还是一个功能? – starteleport