从$.get语句中获取Javascript变量
编辑:请随意删除,我已经在上面提到的副本中找到了合适的答案。抱歉 我有以下代码,似乎无法正确地挖掘变量:从$.get语句中获取Javascript变量,javascript,variables,parameters,Javascript,Variables,Parameters,编辑:请随意删除,我已经在上面提到的副本中找到了合适的答案。抱歉 我有以下代码,似乎无法正确地挖掘变量: $('#button').click(function() { alert(getRemaining(0)); } function getRemaining(i){ var x; $.get('files/remaining.txt', function(file){ x = file.split(",");
$('#button').click(function() {
alert(getRemaining(0));
}
function getRemaining(i){
var x;
$.get('files/remaining.txt', function(file){
x = file.split(",");
});
return x[i]
}
我的警报一直没有定义。我做错了什么?您运行的
.get
是一个异步函数。这意味着您的代码将在完成之前继续执行。传递到.get
的回调函数在完成后将被调用(这是提供回调的主要原因)
返回.get
后,此代码将发出警报
$.get('files/remaining.txt', function(file){
x = file.split(",");
alert(x[0]);
});
如果我粘贴
警报(x)在x=file.split
下的code>行中,它返回所需的解释数组存储库,但是如何从.get
函数中获取x
,并在.get
完成后可用于代码的其他部分?在调用回调之前,您将无法访问x。我建议将任何依赖于x的代码放在回调函数中(如果有很多代码,您可能希望将其放在单独的函数中,然后在回调函数中调用该函数)。如果您确实需要代码之外的某个地方的x,请定义一个全局变量var global\u x=undefined代码>,然后在回调中设置它。然后,在其他需要x的地方,在使用它之前一定要检查它是否未定义。太好了,我认为这样就完成了:)