Javascript JSON 不解析

标签 javascript json

我正在使用一些 Javascript 代码解析 JSON 数据。该代码与一个 JSON URL 完美配合(见下文),但是,当我使用具有完全相同 JSON 的不同 URL 时,它不起作用,即页面为空白,而不是填充数据。下面是 JSON 文件。如果你并排打开它们,你会发现它们是相同的。 工作中:https://dl.dropboxusercontent.com/u/97584761/JSON/Grad%20Jobs%20Ireland/staff-academic.json 不工作:http://appmakeit.com/directory/staff/staff-academic.json 也可以工作,但结构较差:https://staff-academic.firebaseio.com/.json

我真的很想让 appmakeit URL 上的 JSON 发挥作用。这是我用来解析此 JSON 的 Javascript。您能告诉我需要用 Javascript 修改什么才能成功解析此 JSON。

$.ui.ready(function(){
    getData1("http://appmakeit.com/directory/staff/staff-academic.json");
});

function getData1(url) {
    $.getJSON(url, function(data){
        var list_html = "";
        for(var i=0; i< data.staff1.length; i++){
            var id = data.staff1[i].id;
            var fullname = data.staff1[i].fullname;
            var position = data.staff1[i].position;             
            var location = data.staff1[i].location;
            var phone = data.staff1[i].phone;
            var email = data.staff1[i].email;               
            var photo = data.staff1[i].photo;
            var profile = data.staff1[i].profile;

            list_html += '<li2><a href="#'+id+'" class="icon user">&nbsp;'+ fullname +'</a></li2>';

            var panel_content = '<form><br><ul class="list inset" style="font-size: 16px;"><li2 class="divider">'+fullname+'</li2><br><div style="height:150px;width:100%;float:left;"><img src="'+photo+'" width="110" height="120" style="float:left; margin: 0px 10px -2px 8px; box-shadow: 1px 1px 8px #888888;"/><p><blockquote><strong>Position: </strong>'+position+'<br><br></div><strong><blockquote>&nbsp;&nbsp;Location: </strong>'+location+'</blockquote><br><br><strong><blockquote>&nbsp;&nbsp;Phone: </strong>'+phone+'</blockquote><br><br><strong><blockquote>&nbsp;&nbsp;Email: </strong>'+email+'</blockquote><br><br><center><a href="'+profile+'" target=”_blank” class="button block" style="float:right; width: 120px; background-color:#0065A3; color:#fff; border-width:.1em; border-color:#00ACEB; margin:0px 2px 0px 2px;">Profile</a><a href="mailto:'+email+'" target=”_blank” class="button block" style="float:right; width: 120px; background-color:#0065A3; color:#fff; border-width:.1em; border-color:#00ACEB; margin:0px 2px 0px 2px;">Email</a></center><br><br></blockquote></p></ul><br></form><br>';

            $.ui.addContentDiv(id, panel_content, "People"); 
        }
        $("#dataList1").append(list_html);
    });
} 

最佳答案

我猜您正在尝试发出跨域请求,因此它不允许您获取任何数据。

XMLHttpRequest cannot load http://insights.hotjar.com/api/v1/client/sites/13981/visit-data?sv=3. No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://jsfiddle.net' is therefore not allowed access. The response had HTTP status code 500.

他们不允许外部客户端获取这些资源,您应该检查 CURL 但这不符合 ajax 目的。

您可以在后端创建一个 API,curl 并返回该资源,但是,无论如何,我不知道这可以得到多少“赞赏”(甚至合法)

查看 fiddle

关于Javascript JSON 不解析,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29591522/

相关文章:

javascript - 使用setAttribute()添加“onclick”函数

javascript - 如何在我的项目中编写异步代码

java - HttpGet 与请求正文 android

javascript - 设置javascript对象多级属性的简单方法?

javascript - 查找 JSON 值是否包含特定文本

javascript - 覆盖HTML标准化的图片宽度,防止第三方JS吹爆照片?

javascript - 如何使用正则表达式解析OData参数?

javascript - JavaScript 是否具有与 Python 的 __getattribute__ 等效的功能?

java - JSON 数组解析,其中键值对中缺少键

python - 带分页的 Django API 列表 - 页面不是 JSON 可序列化的