使用 ajax 和 json 填充 select 有时会失败

Populate a select using ajax and json sometimes fail

我正在尝试使用 ajax 调用来填充 Select,该调用用内容检索 json。据我所知,连接正常(使用 Chrome 网络选项我看到 ajax 响应始终包含数据,这是 select 什么都不显示时的响应示例:[ {"id":"4","value":"VALOR 4"},{"id":"5","value":"VALOR 5"},{"id":"6","value":"VALOR 6"}]).

我正在使用这段 jquery 来加载 select(从 $.ready() 调用函数):

function(options) {
    $.each(options, function(key, option){
        select.append($('<option></option>').val(option['id']).text(option['value']) );
    })};

问题是有时 select 被填充,有时却没有,浏览器控制台上没有显示任何错误。事实上,我复制了相同的 SELECT,但它们都出现了问题,但不是同时发生:有时两者都被填充,有时只有一个,有时两者都是空的......

我应该如何 fix/rewrite 我的代码才能使其始终如一地工作?

你的逻辑似乎是正确的,所以如果有问题,可能是你从服务器收到的响应

let options = [{"id":"4","value":"VALOR 4"},{"id":"5","value":"VALOR 5"},{"id":"6","value":"VALOR 6"}];


let select = $('select')
$.each(options, function(key, option){
        select.append($('<option></option>').val(option['id']).text(option['value']) );
    })
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>


<select></select>