我有以下功能:
function parseLink(link){
var newlink="";
$.get(link,
function(data){
startoffset = data.indexOf("location.replace") + 18;
endoffset = data.indexOf("tiny_fold = 1;") - 8;
newlink= data.substr(startoffset,(endoffset-startoffset));
});
return newlink;
}
我正在使用 jquery $.get 来解析一个 URL,如果我在没有函数的情况下解析它,它工作正常,但该函数将返回空字符串。显然我做错了什么,但我不知道是什么;任何帮助将不胜感激。
最佳答案
您需要传入一个函数,以便在 $.get
返回时调用。像这样的东西:
function parseLink(link, callback) {
$.get(link,
function(data) {
startoffset = data.indexOf("location.replace") + 18;
endoffset = data.indexOf("tiny_fold = 1;") - 8;
var newlink= data.substr(startoffset,(endoffset-startoffset));
callback(newlink);
});
}
然后你可以调用它:
parseLink('foo', function (newlink)
{
//Stuff that happens with return value
}
);
关于带有 $.get 的 javascript 函数不会返回值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8581947/