繁体   English   中英

从txt加载数组将数据加载到html中

[英]Load array from txt an load into html the data

function loadTextDoc(url, cfunc) {
    xmlhttp = new XMLHttpRequest();
    xmlhttp.onreadystatechange = cfunc;
    xmlhttp.open("GET", url, true);
    xmlhttp.send();
}

function myFunction() {
    var values = [];
    var i;
    loadTextDoc("../menu.txt", function() {
        if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
            menus.innerHTML = xmlhttp.responseText;
            values = xmlhttp.responseText;
            for(i in values) {
                alert(values[i]);
            }
        }
    });

}

嗨,我有这两个函数,用于从txt文件中检索信息,该文件包含如下数据:[“ bug”,“ jungle”,“ tom”,“ farm”,“ panda”,“ frog”]。 我想做的就是把每个数组的信息都放进去。 错误,丛林等内容介绍html中的锚点。 但是上述2个函数将我的数组视为一个整体,每个字母或什至[或“都显示为数组元素。例如arr [0]等于[,arr [1] =”,arr [2] = b ,arr [3] = u an等等。 谁能解释我在做什么错。

非常感谢

您的数据是一个字符串,因此您需要根据需要对其进行解析:

arr = JSON.parse(arr);

现在,您可以根据需要使用“ arr” :)

编辑:您可以使用全局变量或参数在另一个函数中使用此数据。

例子:

var values = [];
function myFunction() {
    var i;
    loadTextDoc("../menu.txt", function() {
        if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
            menus.innerHTML = xmlhttp.responseText;
            values = JSON.parse(xmlhttp.responseText);
            for(i in values) {
                alert(values[i]);
            }
        }
    });
}

function another() {
    // Now you can access "values" from here
}

要么:

function myFunction() {
    var values = [];
    var i;
    loadTextDoc("../menu.txt", function() {
        if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
            menus.innerHTML = xmlhttp.responseText;
            values = JSON.parse(xmlhttp.responseText);
            for(i in values) {
                alert(values[i]);
            }
            another(values);
        }
    });
}

function another(data) {
    // Now you can access "values" from here
    // using "data" parameter
}

但是在最后一个示例中,在myFunction执行之后,“值”将消失。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM