从Javascript函数返回变量
我无法返回此函数的结果从Javascript函数返回变量,javascript,jquery,ajax,Javascript,Jquery,Ajax,我无法返回此函数的结果 function get_duration() { var a = ''; $.ajax({ url: "http://gdata.youtube.com/feeds/api/videos?q=3KMz3JqRByY&max-results=50& format=5,1,6", dataType: "jsonp", success: function (data) {
function get_duration() {
var a = '';
$.ajax({
url: "http://gdata.youtube.com/feeds/api/videos?q=3KMz3JqRByY&max-results=50& format=5,1,6",
dataType: "jsonp",
success: function (data) {
re2 = /seconds='(\d+)'/ig;
while (re.exec(data) != null) {
a = re2.exec(data);
}
}
});
return a;
}
您必须在
success
回调中使用return
,因为Ajax中的A是异步的
像这样:
function get_duration() {
var a = '';
$.ajax({
url: "http://gdata.youtube.com/feeds/api/videos?q=3KMz3JqRByY&max-results=50& format=5,1,6",
dataType: "jsonp",
success: function (data) {
re2 = /seconds='(\d+)'/ig;
while (re.exec(data) != null) {
a = re2.exec(data);
}
return a;
}
});
}
但是,这个函数不能保证返回。你必须使用回调函数之类的东西。use
return
在success
callback中它与你的AJAX调用是异步的这一事实有关,例如,你的问题也被询问(和回答)了一百万次。在你的ajaxNoteget\u duration()中使用async=false
)
仍然以这种方式返回未定义的
。