Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/400.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/74.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何将方法返回的XHR设置为变量?_Javascript_Jquery_Backbone.js_Coffeescript - Fatal编程技术网

Javascript 如何将方法返回的XHR设置为变量?

Javascript 如何将方法返回的XHR设置为变量?,javascript,jquery,backbone.js,coffeescript,Javascript,Jquery,Backbone.js,Coffeescript,我在Jquery中使用CoffeeScript。我有一个名为getVideoTitle的方法,它对youtube api进行ajax调用,以获取视频标题并返回获取的视频标题。但是,它返回一个对象,而我只希望返回一个字符串。我希望返回一个字符串,因为我正在使用backbone.js,并希望激发create在后端创建记录 @collection.create videoid: $('#url').val(), name: @getVideoTitle($('#url').val()); 请看一个例

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

@collection.create videoid: $('#url').val(), name: @getVideoTitle($('#url').val());
请看一个例子


如何从该函数返回字符串?

getVideoTitle
是异步的,它可能返回处理请求的XHR对象,并期望回调调用和接收结果

因此,您需要向它传递回调,并在创建集合之前获取结果。大概是这样的:

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


我建议您在使用CoffeeScript之前先复习一下javascript技能,否则您会遇到麻烦。

getVideoTitle
是异步的,它可能会返回处理请求的XHR对象,并期望回调调用并接收结果

因此,您需要向它传递回调,并在创建集合之前获取结果。大概是这样的:

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


我建议您在使用CoffeeScript之前先复习一下javascript技能,否则您将面临一段颠簸的旅程。

您是否尝试过检查该对象?也许,它的字段中有带标题的字符串?是的,我在它上面做了
console.log()
。有许多函数,并且在其中的某个地方存储了值。您是否尝试检查该对象?也许,它的字段中有带标题的字符串?是的,我在它上面做了
console.log()
。有很多函数,在其中的某个地方存储了值。发出Ajax调用的函数不能返回Ajax调用的结果,因为它会在Ajax调用发出后立即返回。我即将出版一本关于这个主题的书,里卡多说得很对。发出Ajax调用的函数不能返回Ajax调用的结果,因为它会在Ajax调用发出后立即返回。我即将出版一本关于这个主题的书。