2012-02-26 27 views
0

我使用JScript的CoffeeScript。我有一個名爲getVideoTitle的方法,它對api調用ajax來獲取視頻標題並返回提取的視頻標題。但是,它正在返回一個對象,而我只想返回一個字符串。我想返回一個字符串,因爲我使用的是backbone.js,並且想要啓動create以在後端創建記錄。如何設置從一個方法返回一個變量的XHR?

@collection.create videoid: $('#url').val(), name: @getVideoTitle($('#url').val()); 

請看一個例​​子here

我怎樣才能返回string回從這個功能呢?

+0

您是否試圖檢查該對象?也許,它的字段中有標題? – kirilloid 2012-02-26 19:56:42

+0

是的,我已經完成了'console.log()'。有許多功能和價值存儲的地方。 – Omnipresent 2012-02-26 20:14:27

回答

4

getVideoTitle是異步的,它可能會返回處理請求的XHR對象,並期待回調調用並接收結果。

因此,您需要將回調傳遞給它,並在創建集合之前獲取結果。事情是這樣的:

id = $('#url').val() 
@getVideoTitle id, (title) -> 
    @collection.create videoid: id, name: title 

相關的問題:https://stackoverflow.com/search?q=ajax+return+value

我建議你移動到的CoffeeScript之前你的JavaScript技能刷牙,否則你在崎嶇不平的道路是。

+0

裏卡多很對。使Ajax調用的函數無法返回Ajax調用的結果,因爲一旦發送了Ajax調用,它就會返回。我有一本關於這個主題的即將出版的書,* [Async JavaScript](http://leanpub.com/asyncjs/)*。 – 2012-02-27 02:08:39

相關問題