var json = $.getJSON("../category.json", function() {
alert(2);
})
.done(function() {
console.log( "second success" );
var var1 = document.getElementsByClassName('category');
var1.innerHTML = "<option value='" + key + "'>" + val + "</option>";
alert(var1);
})
.fail(function() {
alert( "error" );
});
我想将json文件中的值作为选择字段的选项。但我的代码总是显示警报错误。请告诉我它有什么问题?
答案 0 :(得分:0)
您没有设置key
和value
参数。实际上,看起来你根本就没有获得JSON结果。
将完成的方法更改为
.done(function( data ) { /* do stuff */ }
现在您的JSON结果将存储在数据中。 然后,您可能需要遍历结果。请参阅示例 here
答案 1 :(得分:0)
试试这个
var json = $.getJSON("../category.json", function(data) {
alert(2);
})
.done(function(data) {
console.log( "second success" );
var var1 = document.getElementsByClassName('category');
$.each( data, function( key, val ) {
var1.innerHTML += "<option value='" + key + "'>" + val + "</option>";
alert(var1);
});
alert(var1);
})
.fail(function() {
alert( "error" );
});
答案 2 :(得分:0)
您的JSON无效:您不能将数字用作JSON密钥
[
{
"NAME":"chair",
"0":"chair" <-- error
},
{
"NAME":"bed",
"0":"bed" <-- error
},
{
"NAME":"table",
"0":"table" <-- error
},
{
"NAME":"almira",
"0":"almira" <-- error
}
]
尝试通过在线JSON解析器运行JSON,然后会出现错误。 或者,更改错误处理程序以包含更多信息
.fail(function (jqXhr, status, error) {
alert(status + ':' + error + ':' + jqXhr.responseText) }
});