Ale*_*kov 16 ajax firefox jquery json mime-types
我有以下json文档
// json.json
[
{
"title":"title1",
"value":12234
},
{
"title":"title2",
"value":"some text"
},
{
"title":"title3",
"value":"12qwerty234"
},
{
"title":"title4",
"value":123.5
}
]
Run Code Online (Sandbox Code Playgroud)
我正在使用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>'));
});
});
});
Run Code Online (Sandbox Code Playgroud)
我的问题是,我在Firefox中遇到语法错误.我加载json.json
为本地文件.这是一个截图(错误显示"第1行的语法错误")
请注意,该表单已成功生成.
编辑:
这是运行python时Chrome的另一个屏幕截图SimpleHTTPServer
:
nma*_*ier 26
发生这种情况的原因是因为您使用的是本地文件,因此暗示了mime类型的"text/xml",因此Firefox会尝试将其解析为.responseXML
基础XHR对象的XML .这当然失败了.
您可以忽略它,或指定您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>'));
});
}
});
Run Code Online (Sandbox Code Playgroud)
PS:使用普通的XHR overrideMimeType()
归档时间: |
|
查看次数: |
11949 次 |
最近记录: |