为什么我的函数不能从JSON文件中获取数据

Why cant my function get data from JSON File?

本文关键字:文件 获取 数据 JSON 我的 函数 不能 为什么      更新时间:2023-09-26

我正在尝试练习JSON文件的使用并找出它是如何工作的。我有一个JSON文件附加到我的文档和一个函数与JSON文件中的对象同名。无论如何,它必须把数据放在一个div上,但它没有。这是我的代码:

Json文件:

myFunction([
{
"display": "HTML Tutorial",
"url": "http://www.w3schools.com/html/default.asp"
},
{
"display": "CSS Tutorial",
"url": "http://www.w3schools.com/css/default.asp"
},
{
"display": "JavaScript Tutorial",
"url": "http://www.w3schools.com/js/default.asp"
},
{
"display": "jQuery Tutorial",
"url": "http://www.w3schools.com/jquery/default.asp"
},
{
"display": "JSON Tutorial",
"url": "http://www.w3schools.com/json/default.asp"
},
{
"display": "AJAX Tutorial",
"url": "http://www.w3schools.com/ajax/default.asp"
},
{
"display": "SQL Tutorial",
"url": "http://www.w3schools.com/sql/default.asp"
},
{
"display": "PHP Tutorial",
"url": "http://www.w3schools.com/php/default.asp"
},
{
"display": "XML Tutorial",
"url": "http://www.w3schools.com/xml/default.asp"
}
])

JS功能:

function myFunction(arr) {
    var out = "";
    var i;
    for (i = 0; i < arr.length; i++) {
        out += '<a href="' + arr[i].url + '">' + arr[i].display + '</a><br>';
    }
    document.getElementById("w3schools").innerHTML = out;

下面是演示:http://jsfiddle.net/YLV9A/

有什么办法让它工作吗?

你的JSON文件实际上不是JSON文件。它是一个javascript文件,被调用的函数也恰好包含数据数组。我最好的猜测是,您首先加载"JSON文件",然后再加载其他文件。因此,您在函数存在之前调用它,从而导致错误并停止JS执行。更改脚本的加载顺序,它应该可以正常工作。