0

我正在尝试使用 $.get() 从服务器检索数据,并将其分配给一个变量以使用它。例如:

$.get('htmllink', {}, function(results){

//do stuff here

});

var morestuff = ; //$.get() data goes here

问题是,我无法在圆括号之外进行任何工作。一切都被视为内部变量或其他东西。我错过了什么?

4

2 回答 2

2

您需要在回调函数中完成所有处理。这是因为调用$.get只启动了一个异步请求,然后下一行 ( var morestuff = ...) 在请求开始之后执行,但在它完成之前。

$.get('htmllink', {}, function(results){

    //do stuff with results in here

});
于 2013-07-07T03:22:29.950 回答
1

这里的问题是 $.get 请求是异步的(Ajax),所以这里存在时间问题。这

var morestuff =

将在 Ajax 调用返回之前运行,因此您将没有要分配的值。

您必须在回调中与 ajax 请求的结果进行交互才能访问它

$.get('htmllink', {}, function(results){

//all code that depends on results must run inside here

});

//you can't execute code here that depends on the Ajax call
于 2013-07-07T03:23:12.210 回答