我在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