将文本文件读取到JavaScript中的变量

将文本文件读取到JavaScript中的变量,javascript,json,file,Javascript,Json,File,我有一个文件,我想读入JS中的一个变量,以便以后使用 var states; $.get('states.json', function(data) { states=data; alert(data); alert(states); }, "text"); alert(states); 在上面的代码中,表示的值是函数内部文件的值,但函数外部为空。这是因为最后的警报在收到文件之前运行。默认情况下,Ajax是异步的。这是因为最后的警报在

我有一个文件,我想读入JS中的一个变量,以便以后使用

var states;
$.get('states.json', function(data) {
        states=data;
        alert(data);
        alert(states);
    }, "text");

 alert(states);

在上面的代码中,
表示
的值是函数内部文件的值,但函数外部为空。

这是因为最后的
警报
在收到文件之前运行。默认情况下,Ajax是异步的。

这是因为最后的
警报在收到文件之前运行。默认情况下,Ajax是异步的。

这是因为最后的
警报在收到文件之前运行。默认情况下,Ajax是异步的。

这是因为最后的
警报在收到文件之前运行。默认情况下,Ajax是异步的。

我最近学到的jQuery在Ajax中的一个非常有用的功能可能对您有用

var states;
$.get('states.json', function(data) {
    states=data;
    alert(data);
    alert(states);
}, "text").done(function(result) {console.log(result);};
那应该可以打印出各州的情况。
在这里查看AJAX的API:

我最近了解到jQuery在AJAX中有一个非常有用的功能,可能对您有用

var states;
$.get('states.json', function(data) {
    states=data;
    alert(data);
    alert(states);
}, "text").done(function(result) {console.log(result);};
那应该可以打印出各州的情况。
在这里查看AJAX的API:

我最近了解到jQuery在AJAX中有一个非常有用的功能,可能对您有用

var states;
$.get('states.json', function(data) {
    states=data;
    alert(data);
    alert(states);
}, "text").done(function(result) {console.log(result);};
那应该可以打印出各州的情况。
在这里查看AJAX的API:

我最近了解到jQuery在AJAX中有一个非常有用的功能,可能对您有用

var states;
$.get('states.json', function(data) {
    states=data;
    alert(data);
    alert(states);
}, "text").done(function(result) {console.log(result);};
那应该可以打印出各州的情况。
请在此处查看AJAX的API:

您需要了解异步调用在javascript中的工作方式。可能重复的您需要了解异步调用在javascript中的工作方式。可能重复的您需要了解异步调用在javascript中的工作方式。可能重复的您需要了解异步调用的工作方式在javascript.exe中,可能与OK重复,因此我的代码应该等到文件完全获取后再继续<代码>变量状态;$。get('states.json',function(data){states=data;alert(data);alert(states);},“text”)//警报(国家);var Cstates=Ext.create('Ext.data.Store',{//组合框数据字段:['abbr','name'],数据:states});
这是文件后面的代码,我可以保留它直到值被提取到变量中吗???@user2612159:关键是从回调中调用需要使用数据的任何代码,因为那时你知道数据已经存在并准备好了。您不能停止执行并等待它(或者您可以查看它,这就是您执行的方式)。好的,所以我的代码应该等到文件完全获取后再继续<代码>变量状态;$。get('states.json',function(data){states=data;alert(data);alert(states);},“text”)//警报(国家);var Cstates=Ext.create('Ext.data.Store',{//组合框数据字段:['abbr','name'],数据:states});
这是文件后面的代码,我可以保留它直到值被提取到变量中吗???@user2612159:关键是从回调中调用需要使用数据的任何代码,因为那时你知道数据已经存在并准备好了。您不能停止执行并等待它(或者您可以查看它,这就是您执行的方式)。好的,所以我的代码应该等到文件完全获取后再继续<代码>变量状态;$。get('states.json',function(data){states=data;alert(data);alert(states);},“text”)//警报(国家);var Cstates=Ext.create('Ext.data.Store',{//组合框数据字段:['abbr','name'],数据:states});
这是文件后面的代码,我可以保留它直到值被提取到变量中吗???@user2612159:关键是从回调中调用需要使用数据的任何代码,因为那时你知道数据已经存在并准备好了。您不能停止执行并等待它(或者您可以查看它,这就是您执行的方式)。好的,所以我的代码应该等到文件完全获取后再继续<代码>变量状态;$。get('states.json',function(data){states=data;alert(data);alert(states);},“text”)//警报(国家);var Cstates=Ext.create('Ext.data.Store',{//组合框数据字段:['abbr','name'],数据:states});这是文件后面的代码,我可以保留它直到值被提取到变量中吗???@user2612159:关键是从回调中调用需要使用数据的任何代码,因为那时你知道数据已经存在并准备好了。您不能停止执行并等待它(或者您可以查看它,这就是您执行的方式)。