Я пишу очень простое приложение todo в Rails.Не удается получить jQuery's 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')
)
Когда я создаю новый TODO, test1
печатается в консоли. Я получаю надлежащий ответ 200. Метод @onAjaxSuccess()
не запускается (test2
не печатается). Зачем?
UPDATE:
Я только что прочитал, что jquery-ujs
пожары ajax:success
события, так что я также пытался:
bindEvents:() =>
console.log 'test1'
$('#new_todo').on('ajax:success', @onAjaxSuccess)
Тем не менее не работает.
Что ожидаемый результат? – guest271314
@ guest271314 Ожидаемый результат - напечатать 'test2' в консоли. – pmichna
Является ли запрос ajax вызываемым в 'js' в вопросе? – guest271314