循环API JSON结果并映射到选择选项

时间:2017-12-11 01:48:04

标签: jquery json ajax

我一直在谷歌搜索过去的一小时,似乎找不到任何与我的问题相关的帖子。

我正在尝试遍历API请求中的所有结果,并将其作为选择选项进行相应映射。

这是我的代码:

<script>

var urlRoot = 'https://newsapi.org/v2/';
var sourceList = 'sources?';
var apiLanguage = 'language=en&';
var apiKey = 'XXX';

$(document).ready( function() {
  $.ajax({
    url: urlRoot + sourceList + apiLanguage + apiKey,
    method: 'GET',
    dataType: 'json',
    }).then(function(data) {
        console.log(data.sources);
        $.each(data, function(sources, name) {
          $('#source-selection').append(name);
        })
      });
    });
</script>

<select>
  <option> Show Everything </option>
  <option id="source-selection"></option>
</select>

API将源返回为~80的数组。

提前致谢并抱歉英语不好。

1 个答案:

答案 0 :(得分:3)

由于您希望在BGRA8UNorm data.sources中添加option中的每个项目,首先需要迭代select,然后将每个项目附加到{{} 1}}。另外,请确保为列表中的每个data.sources添加select属性:

修改:为了安全起见,请使用valueoption直接设置新val元素的属性:

text