2013-03-28 38 views
0

所以我試圖做這個與jquery(咖啡標記)的ajax請求,但我有回調函數的問題,它告訴我,「數據」是未定義的,但有時,當我重新編寫代碼時,它不會給我一個控制檯錯誤,而是什麼也不做。我知道請求會通過,因爲rails會處理請求,但是可能會有問題發回信息,所以我也會包含我的控制器代碼。謝謝你的幫忙。JQuery的Ajax調用 - 回調函數的錯誤

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 

回答

1

請求的可用格式和內容類型不匹配。你基本上有三種選擇:

  1. 設置使用$阿賈克斯的「接受」設置請求頭的內容類型爲「JSON」
  2. 添加以.json於你請求
  3. 網址的結尾
  4. 將format.json更改爲format.js
+0

原來是縮進問題,但這些也使代碼更加健壯。 –