我正在使用AJAX發送一個字符串化爲JSON的集合。它被解碼,驗證並保存到會話中。Coffescript,Backbone - jQuery.ajax完成回調函數作用域
它適用於Firefox - $ _SESSION ['key']可用,它在Chrome中不起作用。
我認爲在使用window.location.href ='checkout'時,AJAX完成發射時出現了問題。我想解決它,但我不能從內部完成回調或從ajaxdone方法登錄。
我不明白爲什麼添加'=>'沒有幫助。它將整個對象緩存到_this,不是嗎?
send: (data) ->
console.log this
jQuery
.ajax({
type: "POST",
url: 'checkout',
data: {order: data},
dataType: 'json',
done: (data) =>
this.ajaxdone()
})
this
ajaxdone: ->
#window.location.href = 'checkout'
console.log this
你需要「催肥」對方箭頭:'派:(數據)=>' – Tallmaris
你最好使用骨幹實踐,而不是重寫你自己的Ajax調用/回調[例如,你可以重寫同步方法]。 – moonwave99
@ moonwave99我想我應該,但真正的問題是:我怎麼做才能成功執行console.log從內部完成回調?我認爲我理解JS如何工作得很好,似乎我沒有。 –