3

私は標準的な ajax リクエストを行っており、次のことを行うレールコントローラーアクションがあります。

def up_vote
  resource.votes.increment!
  render :nothing => true
end

これは私のjquery ajax成功コールバックをトリガーしません---しかし、statusCode: 200コールバックをトリガーしますが、代わりに成功を使用したいと思います。レール レンダリング ドキュメントでは、render :nothing => true の代わりに「head」を使用するように指示されているため、head :ok を実行してみましたが、結果は同じです。

このメソッドで成功コールバックをトリガーするにはどうすればよいですか?

4

3 に答える 3

8

head :okRails 3.2 でスタイル レスポンスを使用しているときに、同じ問題に遭遇しました。通話内に変更dataType: "json"して修正しました。dataType: "text"$.ajax

JSON 応答を指定した場合、jQuery は成功コールバックを呼び出さないようですが、返されたデータは JSON として検証されません。

この質問は、それを理解するために必要なヒントを私に与えてくれました: jQuery.ajax 成功コールバック関数が実行されていません

于 2012-12-17T18:16:42.103 に答える
5

json 応答をレンダリングすることで、このエラーを修正しました。render :json => { :success => "success", :status_code => "200" }

于 2013-04-11T08:49:14.073 に答える