我正在尝试使用 $.get() 从服务器检索数据,并将其分配给一个变量以使用它。例如:
$.get('htmllink', {}, function(results){
//do stuff here
});
var morestuff = ; //$.get() data goes here
问题是,我无法在圆括号之外进行任何工作。一切都被视为内部变量或其他东西。我错过了什么?
我正在尝试使用 $.get() 从服务器检索数据,并将其分配给一个变量以使用它。例如:
$.get('htmllink', {}, function(results){
//do stuff here
});
var morestuff = ; //$.get() data goes here
问题是,我无法在圆括号之外进行任何工作。一切都被视为内部变量或其他东西。我错过了什么?
您需要在回调函数中完成所有处理。这是因为调用$.get
只启动了一个异步请求,然后下一行 ( var morestuff = ...
) 在请求开始之后执行,但在它完成之前。
$.get('htmllink', {}, function(results){
//do stuff with results in here
});
这里的问题是 $.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