0

と呼ばれるアクションが1つありaction_1ます。ユーザーがを入力する/action_1と、html応答が続きます。ただし、jQuery.get('/action_1')js応答を受信する必要がある呼び出しもあります。私はaction_1.js.erbファイルを持っていますが、どういうわけか、私が得る応答はhtmlです。アクションに次のrespond_toブロックがあります。

respond_to do |format|
  format.html
  format.js { render :layout => false }
end

何が起こっている?ありがとう!

4

2 に答える 2

1

私は使うだろう

jQuery.getJSON('/action_1')

application/json代わりにリクエストしますtext/html

于 2012-11-28T19:21:08.293 に答える
1

私は何が起こっているのかを知りました:jQuery.get()デフォルトでhtml応答を期待します。html.erbアクションで何も指定されていない場合、および私が投稿した2つのオプション(format.htmlおよび)を指定した場合も、Railsはファイルを使用して呼び出しに応答しますformat.jsjs.erb何も指定されておらず、何もhtml.erb見つからない場合はaで応答し、指定されている場合はではなくで応答する必要がformat.jsありformat.htmlます。いずれにせよ、jQuery.getJSONデフォルトでjsonを期待し(そしてjavascriptを実行しません)jQuery.getScript()、javascriptコードを実行します

于 2012-11-30T18:34:53.813 に答える