首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >JQuery GET分配数据

JQuery GET分配数据
EN

Stack Overflow用户
提问于 2014-05-13 22:08:38
回答 1查看 26关注 0票数 0

对不起,我是jQuery的新手,所以这个问题可能看起来很愚蠢。

我有一个泛型函数,它将调用一个$.get来从URL中检索一些数据,然后我想将其赋值给一个变量,而不是一个控件。

这是我的函数,它已经被简化,以清除“噪音”…

代码语言:javascript
运行
复制
function LoadFromURL(url) {
    var response = "";
    $("textarea#dump").val("url=" + url);   // Shows the URL, no problem

    $.get(url, "", function (data) {
        response = data;
        $("textarea#dump").val(response);   // Shows the data, no problem
    });

    $("textarea#dump").val(response);   // Shows NOTHING!
    return (response);
}

问题是,在回调函数中,response值很容易赋值,但是当它到达return (response)时,变量就是空的。

EN

Stack Overflow用户

发布于 2014-05-13 22:14:52

Shows NOTHING行启动得太快了,没有什么用处。您必须从回调函数开始,然后从那里开始。你可以从回调中调用一个方法。

这样叫它:

代码语言:javascript
运行
复制
var cb = function(data) {
  $("textarea#dump").val(data);  
}
LoadFromUrl("someUrl", cb);

或者像这样内联:

代码语言:javascript
运行
复制
LoadFromUrl("someUrl", function(data) {
   $("textarea#dump").val(data);  
});

如下所示更改您的方法:

代码语言:javascript
运行
复制
function LoadFromURL(url, cb) {
  $("textarea#dump").val("url=" + url);   // Shows the URL, no problem


  $.get(url, "", function (data) {
     cb(data);  //<-- call the CallBack method
  });

}

这更像是javascript的行为,而不是jQuery,回调是js中的一种生活方式。

票数 0
EN
查看全部 1 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23633610

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档