我在Rails中編寫了一個非常簡單的待辦事項應用程序。無法讓jQuery的ajaxSuccess()工作
查看:
h2 Your todos
ul#todo_list
= render @todos
hr
h4 Add new
= form_for(Todo.new, url: {action: 'create'}, remote: true) do |form|
= form.text_field :text
= form.submit 'Add'
的CoffeeScript:
class Todo
constructor:() ->
@bindEvents()
bindEvents:() =>
console.log 'test1'
$(document).ajaxSuccess(@onAjaxSuccess)
onAjaxSuccess: (event, xhr, settings) ->
console.log 'test2'
$('#todo_list').append(xhr)
@isPresent: (element_id) ->
$("##{element_id}").length > 0
$(()->
new Todo if Todo.isPresent('todos')
)
當我創建一個新的待辦事項,test1
打印在控制檯。我得到了一個適當的200響應。 @onAjaxSuccess()
方法未被觸發(不打印test2
)。爲什麼?
UPDATE:
我剛剛讀到jquery-ujs
火災ajax:success
事件,所以我也嘗試:
bindEvents:() =>
console.log 'test1'
$('#new_todo').on('ajax:success', @onAjaxSuccess)
還不行。
什麼是預期的結果? – guest271314
@ guest271314預期的結果是在控制檯中打印'test2'。 – pmichna
是一個在'js'上調用的ajax請求嗎? – guest271314