gpt4 book ai didi

有效 JSON 上的 jQuery getJSON 语法错误

转载 作者:行者123 更新时间:2023-12-03 21:54:16 25 4
gpt4 key购买 nike

我有以下 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 行语法错误”)

enter image description here

请注意,该表单已成功生成。

编辑:这是运行 python SimpleHTTPServer 时 Chrome 的另一个屏幕截图:

enter image description here

最佳答案

发生这种情况的原因是因为您使用的是本地文件,因此隐含了“text/xml”的 mime 类型,因此 Firefox 会尝试将其解析为 XML 为 .responseXML底层 XHR 对象。这当然失败了。

您可以忽略这一点,或者自己指定mimeType:

$.ajax({
dataType: "json",
url: "json.json",
mimeType: "application/json",
success: 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>'));
});
}
});

PS:使用普通 XHR,您将使用 overrideMimeType()

关于有效 JSON 上的 jQuery getJSON 语法错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18291390/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com