javascript - 从文本文件加载 json 数据时出现空白页

标签 javascript json ajax

我正在尝试从包含 json 数据的 html 文件加载名称。问题是页面为空白/白色,并且在 Firefox 调试器中没有错误消息。

test.html 和 persondb.html 位于同一服务器上。

test.html

 <!DOCTYPE html>
<html>
<head lang="en">
<meta charset="UTF-8">
<title>JSON Exempel</title>
<script src="https://code.jquery.com/jquery-2.1.4.min.js"></script>
</head>
<body>

<ul id="person-lista">

</ul>

<script>

$.ajax({
    url: "http://www.mywebbpage.com/ajax/persondb.html", // not the realname
    data: {
        limit: 5,
        name: 'ra'
    },

    success: function (response) {

        var personArray = response.personer;
        for(var i=0; i < personArray.length; i++) {
            var person = personArray[i];
            $('#person-lista').append('<li>' + person.fnamn + '</li>');
        }
    }
});

</script>
</body>
</html>

persondb.html

{
"personer": [{
    "fnamn": "RACHELLE",
    "enamn": "ZWIEFELHOFER",
    "epost": "rachelle.zwiefelhofer@somefakedomain.nu"
}, {
    "fnamn": "RACQUEL",
    "enamn": "JOH",
    "epost": "racquel.joh@somefakedomain.nu"
}, {
    "fnamn": "RAE",
    "enamn": "BRAVARD",
    "epost": "rae.bravard@somefakedomain.nu"
}, {
    "fnamn": "RAFAEL",
    "enamn": "SAGASTUME",
    "epost": "rafael.sagastume@somefakedomain.nu"
}, {
    "fnamn": "RAISA",
    "enamn": "REINES",
    "epost": "raisa.reines@somefakedomain.nu"
}]
}

persondb.html 的格式是否不正确?是这个原因吗?在浏览器中加载 persondb.html 时,如下所示

{ "personer": [{ "fnamn": "RACHELLE", "enamn": "ZWIEFELHOFER", "epost": "rachelle.zwiefelhofer@somefakedomain.nu" }, { "fnamn": "RACQUEL", "enamn": "JOH", "epost": "racquel.joh@somefakedomain.nu" }, { "fnamn": "RAE", "enamn": "BRAVARD", "epost": "rae.bravard@somefakedomain.nu" }, { "fnamn": "RAFAEL", "enamn": "SAGASTUME", "epost": "rafael.sagastume@somefakedomain.nu" }, { "fnamn": "RAISA", "enamn": "REINES", "epost": "raisa.reines@somefakedomain.nu" }] }

还是“同源策略”有问题?但文件位于同一服务器(同一文件夹)

最佳答案

您需要先解析 JSON,然后才能在循环中访问它 -

success: function (response) {

    var res = JSON.parse(response);
    var personArray = res.personer;
    for(var i=0; i < personArray.length; i++) {
        var person = personArray[i];
        $('#person-lista').append('<li>' + person.fnamn + '</li>');
    }
}

关于javascript - 从文本文件加载 json 数据时出现空白页,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36986423/

相关文章:

javascript - 循环 JSON 数据以使用 optgroup 部分填充选择框的分析瘫痪

javascript - 我的 javascript 返回此错误 : $. ajax 不是函数

ajax - 如何使用 $.ajax 发送多个表单输入值

javascript - 如何在 Canvas 上使用 javascript 为圆锥体或圆柱体提供 3d 效果?以及如何在其中填充所需的颜色?

javascript - 在 JavaScript 中处理任意大的入站数据

javascript - 如何将字符串转换为 key ?

java - 使用 jackson 可以吗?

javascript - jquery 类更改时更改 href 函数

javascript - 使用 React Native 将数据添加到现有 JSON 文件

javascript - jQuery 未找到使用 AJAX 加载的元素