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