我想在点击href文本时显示Json数据。但是每当我点击href文本时,控制台在文件data.json中打印“Uncaught SyntaxError:Unexpected token:”。为什么会这样?我已经在JSONLint中验证了代码。
的文件:索引。 HTML
<html>
<head>
<script src="data.json"></script>
<script src="http://code.jquery.com/jquery-1.11.3.min.js"></script>
</head>
<body>
<h1 id="title">Using jQuery to retrieve Json via Ajax</h1>
<a href="#" id="clickme">Get JSON data</a>
</body>
<script>
$(function(){
$("#clickme").click(function(){
$.getJSON("data.json",function(data){
var items=[];;
$.each(data,function(key,val){
items.push('<li id="'+key+'">'+val+'</li>');
});
console.log(items);
$("<ul/>",{
"class":"interest-list",
html:items.join("")
}).appendTo("body");
});
});
});
</script>
</html>
文件:data.json
{
"one":"pikachu is awesome",
"two":"squirtle is awesome"
}
答案 0 :(得分:0)
问题出在你的data.json文件中:
你必须像这样改变你的json(使用[]):
[
{
"one":"pikachu is awesome",
"two":"squirtle is awesome"
}
]
然后你必须改变你的js代码以使用数据[0]而不是数据:
$.each(data[0],function(key,val){
items.push('<li id="'+key+'">'+val+'</li>');
});
这可以防止控制台错误,一切正常。
p.s。:我建议删除无拘无束;在第14行:
var items=[];;
到
var items=[];