【问题标题】:Read a text file to a variable in JavaScript将文本文件读取到 JavaScript 中的变量
【发布时间】:2014-03-18 17:17:51
【问题描述】:

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

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

 alert(states);

在上面的代码中,states的值是函数内部文件的值,但外部是null。

【问题讨论】:

标签: javascript json file


【解决方案1】:

那是因为最后的alert文件被接收之前运行。 Ajax 默认是异步的

【讨论】:

  • 好的,所以我的代码应该等到文件完全获取后再继续。 var states; $.get('states.json', function(data) { states=data; alert(data); alert(states); }, "text"); //alert(states); var Cstates = Ext.create('Ext.data.Store', { //combo box data fields: ['abbr', 'name'], data: states }); 这是文件后面的代码,我可以保留它直到将值提取到变量中吗??
  • @user2612159:关键是在回调中调用您需要使用数据的任何代码,因为那是您知道它在那里并准备就绪的时候。你不能停止执行并等待它(或者你可以看看它是如何你这样做的)。
【解决方案2】:

我最近了解到 jQuery 与 AJAX 的一个非常有用的功能可能对你有用。

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

这应该打印出状态。 在此处查看 AJAX 的 API:https://api.jquery.com/jQuery.ajax/

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-03-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-09-26
    • 1970-01-01
    • 2014-04-14
    相关资源
    最近更新 更多