使用ajax填充选择,json有时会失败

时间:2018-05-09 22:15:51

标签: jquery json ajax html-select

我正在尝试使用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,并且两个问题都在发生,但同时也不是必要的:有时两者都是填充的,有时只有一个,有时两个都是空的......

我应该如何修复/重写我的代码以使其始终如一地工作?

1 个答案:

答案 0 :(得分:0)

您的逻辑似乎是正确的,所以如果出现问题,可能来自您从服务器收到的回复

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>