Я работаю с интерфейсом и хочу отрисовать страницу.Для этого я использую инициализатор, который вызывает функцию, выполняющую вызов $ .ajax для бэкэнда.Однако, хотя в chrome dev tools запрос выполняется успешно, каждый раз, когда я запускаю console.log, он возвращает undefined.Бэкэнд отправляет правильный результат, но он не отображается.
initialize: =>
@build_recent()
@payload=@recent_data
console.log(@payload)
render: =>
$(@el).append homeTemplate(@payload)
@
build_recent: =>
$.ajax(
url: '/build_recent'
dataType: 'text/json'
type: 'GET'
success: (data) =>
@recent_data = data
)
Обновление:
просто только с использованием render () без использования intialize и другой функции, я наконец решил проблему следующим образом:
render: =>
$.ajax(
url: '/build_recent/'
dataType: 'json'
type: 'GET'
success: (data) =>
@payload = data
$(@el).append homeTemplate(@payload)
return @
)
получается, что проблема была только в этом dataType: 'json'
, ранее я использовал dataType: 'text/json'
, теперь он работает нормально