我正在尝试使用以下方法从json文件创建一个数组:
<script type="text/javascript">
var stores = [];
$.getJSON('js/locations.json', function(data) {
$.each(data, function(key, value) {
stores.push("<option value="+key+">"+value+"</option>");
});
});
</script>
但是当我调用它时,数组似乎是空的。 json文件如下所示:
{
'1' : 'Store 1',
'2' : 'Store 2',
'3' : 'Store 3'
}
如果有人能告诉我为什么它不起作用,那将是非常感激的。感谢。
答案 0 :(得分:0)
尝试其他json文件内容。例如:
{ “一”:“奇异的感觉”, “两个”:“小小的眼睛”, “三”:“小鸟在家门口” }
答案 1 :(得分:0)
也许json无效。尝试:
{ “1”:“Store1”, “2”:“Store2”, “3”:“Store3” }
单引号加倍。用单引号jsonlint.com不要验证....
答案 2 :(得分:0)
如果您尝试访问本地json文件的位置。 webkit浏览器不允许它。
尝试使用--allow-file-access-from-files
启动chrome。 IE 8+拒绝相同的访问权限。
$.getJSON
在Firefox中提供了读取本地文件的问题。可能的解决办法就是通过这个。
var req = new XMLHttpRequest();
req.open("GET", "a.json",false);
req.overrideMimeType("application/json");
req.send(null);
var myJson = req.responseText;
或者您可以将JSON作为var放在JS文件中以进行测试。