我有一個Ember應用程序,通常會向服務器發送ajax請求以獲取其數據。我面臨的問題是每個請求都需要在URL上附加一個簽名。這個簽名需要經常計算,因爲它只有10秒纔有效。系統要求我從服務器請求此簽名,可能使用ajax請求。所以,我的問題是,Ember永遠不會使用從ajax請求返回的簽名,因爲它不會按預期等待。強制Ember等待來自Ajax請求的值
有問題的代碼是在這裏:http://jsfiddle.net/veDjq/
在該代碼中,signature
內App.Post
總是undefined
雖然我可以看到,簽名的要求,如果我console.log
在App.Signature
的response
返回正確的值。
我是Ember的新手,所以我很可能會採用這種錯誤的方式。最後,每當Ember對象需要從服務器請求數據時,我需要能夠請求新的簽名。我試圖使用jQuery的$.ajaxSend
來更改URL,但它不適用於GET請求。
謝謝盧克!仔細研究'this'的範圍就可以解決它。我也接受了你的建議,並使用了一些承諾,它更好。我很感激幫助。 – aezell