带有 $.get 的 javascript 函数不会返回值

标签 javascript jquery function

我有以下功能:

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/

相关文章:

javascript - JQuery向表添加行,行未定义

jquery - 使用 jQuery 操作图像 z-index

JavaScript:克隆一个函数

javascript - 如何将数组的元素作为参数传递给 JavaScript 中的函数?

javascript - 如何在自定义javascript对象中设置标签onclick?

javascript - 禁用 Tumblr 照片集或更改它们的大小?

javascript - Jquery Ajax 不更新 mysql 中的值

Javascript AES 加密与 SSL

javascript - 如何将 Stripe 支付与 Google Apps 脚本集成

javascript - 如何使用jquery获取div当前文本框