JQuery GET分配数据

时间:2014-05-13 14:08:38

标签: javascript jquery

很抱歉,但我是jQuery的新手,所以这似乎是一个愚蠢的问题。

我有一个通用函数,它会调用$.get从URL中检索一些数据,然后我想分配给变量,而不是控件。

这是我的功能,它已被简化以清除“噪音”......

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)时,变量为空。

1 个答案:

答案 0 :(得分:0)

Shows NOTHING行很快就会被解雇,无法使用。您必须从回调函数开始并从那里开始。你可以从回调中调用一个方法。

这样称呼:

var cb = function(data) {
  $("textarea#dump").val(data);  
}
LoadFromUrl("someUrl", cb);

或内联如下:

LoadFromUrl("someUrl", function(data) {
   $("textarea#dump").val(data);  
});

像这样改变你的方法:

function LoadFromURL(url, cb) {
  $("textarea#dump").val("url=" + url);   // Shows the URL, no problem


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

}

这比jQuery的行为更多,回调是js中的一种生活方式。