Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/371.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/variables/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
从$.get语句中获取Javascript变量_Javascript_Variables_Parameters - Fatal编程技术网

从$.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的地方,在使用它之前一定要检查它是否未定义。太好了,我认为这样就完成了:)