javascript - 从在线文件中获取Json文档数据

标签 javascript jquery html css json

因为我是 json 的新手,你们能帮帮我吗?我的数据文件位于此网址 - http://www.thedailystar.net/json/category
现在我想以以下格式显示它:

<ul id="smenu">
    <li></li>
</ul>

那么,如何获取从url中获取数据的请求并运行一个循环打印出来呢?我试过这段代码,但什么也没发生。提前致谢:)

var xmlhttp = new XMLHttpRequest();
var url = "http://www.thedailystar.net/json/category";

xmlhttp.onreadystatechange = function() {
    if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
        var myArr = JSON.parse(xmlhttp.responseText);
        myFunction(myArr);
    }
}
xmlhttp.open("GET", url, true);
xmlhttp.send();

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

最佳答案

如果您的 JavaScript 没有在 thedailystar.net 域上运行,这将是一个跨域请求。如果是这种情况,您将需要在资源服务器 ( http://www.thedailystar.net/json/category) 上启用 CORS。

大多数时候,要启用 CORS,服务器需要在其响应中返回以下 header :

Access-Control-Allow-Origin: *

有关 CORS 的更多信息:http://enable-cors.org/server.html

关于javascript - 从在线文件中获取Json文档数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29996628/

相关文章:

javascript - if 语句, $(this) == $ ("#div")

jquery - 如何获取JSON格式元素的样式?

javascript - 文字颜色一一过渡

javascript - Angular 清理的目的是什么?

javascript - 使用 Moment.js 获取从减去到日期的天数

javascript - 数组相等性检查算法在某些情况下不起作用

javascript - 在 HTML5 验证后禁用所有表单上的提交按钮的通用 jQuery

html - 是否值得使用 *{margin :0; padding:0;} as resetting purpose

javascript - 如何在表格的几列上创建文本跨度?

javascript - 在 react js,props 或 state 中使用什么进行双向绑定(bind)?