0

jquery (coffeescript) でこの ajax リクエストを実行しようとしていますが、コールバック関数に問題があります。「データ」が未定義であることがわかりますが、コードを書き直すと、そうでないことがあります。コンソール エラーが発生し、代わりに何もしません。Rails がリクエストを正常に処理するため、リクエストが通過することはわかっていますが、情報を返送する際に問題が発生する可能性があるため、コントローラー コードも含めます。助けてくれてありがとう。

submit_yes = ->
par = $(this).parent().parent()
event_id = par.find('#event_id').val()
time_module_id = par.find('#time_module_id').val()
$.ajax
  type: "PUT",
  url: '/events/'+event_id+'/add_yes_rsvp?' + par.find('#time_module_id').serialize(),
  data: JSON.stringify({ _method:'put' })
  success: (data) ->
    alert data
    update_score(par.parent())
return true

def add_yes_rsvp
  @event = Event.find(params[:id])
  TimeModule.find(params[:time_module_id]).add_yes_rsvp(current_user)
  respond_to do |format|
    format.json {render json: { error: false }}
  end
end
4

1 に答える 1

1

利用可能な形式と要求されたコンテンツ タイプが一致しません。基本的に次の 3 つのオプションがあります。

  1. $.ajax の「accepts」設定を使用して、リクエスト ヘッダーのコンテンツ タイプを「json」に設定します。
  2. リクエストしている URL の末尾に .json を追加します
  3. format.json を format.js に変更します
于 2013-03-29T00:29:28.157 に答える