我有下面的json文档
// json.json
[
{
"title":"title1",
"value":12234
},
{
"title":"title2",
"value":"some text"
},
{
"title":"title3",
"value":"12qwerty234"
},
{
"title":"title4",
"value":123.5
}
]
我使用jQuery来加载它,代码如下:
$(document).ready(function(){
$.getJSON("json.json", {},function(result){
$.each(result, function(i, obj) {
$("form").append($('<label for="'+i+'">'+obj.title+'</label>'));
$("form").append($('<input id="'+i+'" value="'+obj.value+'" type="text"/><br>'));
});
});
});
我的问题是,我在Firefox中遇到了一个语法错误。我将json.json
作为本地文件加载。下面是一个屏幕截图(***错误显示“第1行语法错误”***)
请注意,该表单已成功生成。
**编辑:**这是Chrome运行python SimpleHTTPServer
时的另一个截图:
4条答案
按热度按时间mccptt671#
发生这种情况的原因是因为您使用的是本地文件,因此隐含了mime类型“text/xml”,因此Firefox会尝试将其作为XML解析为底层XHR对象的
.responseXML
。您可以忽略它,或者自己指定
mimeType
:PS:使用普通XHR,您将使用
overrideMimeType()
bkhjykvo2#
我在一个Web服务器上运行了同样的代码,没有产生语法错误,但是当从file:///加载时会产生语法错误。
tvmytwxo3#
我认为,错误产生是因为json文件是一个本地文件。尝试加载与您的网络服务器,如nginx或apache。
72qzrwbm4#
我在json中遇到了同样的语法错误4的问题,而我有正确的json集。
我无法找到解决方案,然后我用了一个技巧,使json到php数组。你可以使用相同的,如果你觉得有用的话。
样本代码: