.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コールバックコードはコントローラーからの可能な応答の1つにすぎないため、フォームアクションをJS形式を使用するように切り替えたくありません。また、処理するためにそこからJSONが必要です。
質問:クライアント側のリダイレクト(つまり、JSON応答からwindow.locationを取得する)などを使用せずに動作させる可能性はありますか?AFAIK、これは非リモートフォームで問題なく機能します。
ADDXHRstatus = "parsererror"
が完了すると終了します。明らかに、これは、jQueryが応答をJSONとして解析しようとするためtext/javascript
です。質問はまだ開いています。