我正在尝试从.json
文件中提取用户信息。该文件以下列格式(确切地)动态输出用户信息:
[
{
"endpoint":"10.0.0.2",
"id":1,
"identifiers":["0x002","0x003"],
"name":"user_one",
"ping":21
},
{
"endpoint":"10.0.0.3",
"id":2,
"identifiers":["0x004","0x005"],
"name":"user_two",
"ping":28
}
]
然后我有一个带有选择字段的HTML文档,如此
<select id="select"></select>
我的目标是收集每个用户的所有id
和name
字段,并将其添加到选择字段作为选项。这是我试图开始的代码,看看我是否可以在线打印这两个人的数据:
var playerData = $.getJSON("https://example.com/file.json?jsoncallback=?");
var $select = $('#select');
$select.find('option').remove();
var listitems = '';
$.each(playerData, function(key, value) {
listitems += '<option>' + value + '</option>';
});
$select.append(listitems);
由于游戏APP的局限性,我不得不用jSON-P而不是CORS来调用它,因为服务器会阻止访问控制,我无法修改该应用程序的标题。上面的代码块将输出以下内容:
此时不确定我是否正确调用文件。一旦我打电话给它,它们就被存储在由{}
包围的组中,但是还有[]
括号包含所有内容。我错过了什么?
答案 0 :(得分:0)
正如评论所述,$.getJSON()
并非如此。尝试将代码放入成功的回调函数中。
$.getJSON("https://example.com/file.json?jsoncallback=?", function(playerData) {
var listitems = '';
$.each(playerData, function(key, value) {
listitems += '<option>' + value + '</option>';
});
$('#select option').remove();
$('#select').append(listitems);
});