有史以来第一个问题,我试图解析存储在我的webhost上同一文件目录中的JSON文件,就像运行javascript来解析它的html文件一样,我已经添加了一个console.log到调试并确认文件被' get'捕获。确保我能够获得'使用jquery getJSON的文件,在回调中,我试图创建一个函数,将全局变量重新定义为包含已解析数据的对象,但是当我尝试将其注入{{1}时}
它返回错误"未捕获的TypeError:无法读取属性' 1'未定义"
这是我的js / jquery
document.getElemendtById('example').innerhtml = tgmindex.ToughGuys[1].name;

以下是JSON中包含的内容(我确保首先尝试使用它并且它是一个有效的json)
var tgmIndex;
$(document).ready(function () {
$.getJSON("http://webspace.ocad.ca/~wk12ml/test.json",function(data){
console.log( "success" );
tgmIndex =$.parseJSON;
document.getElementById('tgm1').innerHTML= tgmIndex.ToughGuys[1].name;
});
});
答案 0 :(得分:1)
您正在将tgmIndex
设置为parseJson函数。
应该做tgmIndex =$.parseJSON(data);
答案 1 :(得分:0)
据推测,您的服务正在返回application/json
。因此data
已包含json。
tgmIndex = data;
然后......" Tough Guys"是你应该索引的。不是" ToughGuys"
您的示例JSON在您的问题中是错误的。如果我去
http://webspace.ocad.ca/~wk12ml/test.json
我明白了:
{"Tough Guys":[
{"name":"Ivan", "position":"Executive"},
{"name":"Little Johnny", "position":"Intern"},
{"name":"Beige Cathy", "position":"Executive"},
{"name":"Stan", "position":"Intern 0"}
]}
请参阅"Tough Guys"
您的问题。
document.getElementById('tgm1').innerHTML= tgmIndex['Tough Guys'][1].name;
如果data
由于某种原因不是JSON:
tgmIndex = $.parseJSON(data);