如何将XHR从方法返回到变量?

时间:2012-02-26 19:24:27

标签: javascript jquery backbone.js coffeescript

我正在使用CoffeeScript和Jquery。我有一个名为getVideoTitle的方法,它对youtube api进行ajax调用以获取视频标题并返回获取的视频标题。但是,它返回一个对象,而我只想返回一个字符串。我想要返回一个字符串,因为我正在使用backbone.js并希望触发create以在后端创建记录。

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

请参阅示例here

如何从此功能返回string

1 个答案:

答案 0 :(得分: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技巧,否则就会陷入颠簸之中。