jQuery的ajax异步请求问题

图片说明

如图,我在使用getJSON获取数据后添加dom元素时出现了一个异步请求问题,我想要的效果是获取数据然后添加dom,但是实际效果是,打印append前后元素是有效果的,但是页面上不渲染,我该怎么做啊?不想使用添加async: false,求大佬给个建议
图片说明

看起来没有问题,看看是不是用了什么前端框架比如esayui之类的,这些框架一般都需要加入特定的class或者还需要执行一个重新渲染表单的操作

//页面加载完毕后执行
$(document).ready(function(){
    //ajax
})

首先在for循环里面,你需要

let option = document.createElement("option");
option.value = res.data[index].type_id;
option.innerHTML = '#' + res.data[index].type_name;
$(".main-select").append(option);

for循环外面的就不要了 在里面直接append,
注意只有 dom 节点对象才能 append 进去

DOM树跟页面渲染的分开的,所以会出现这种DOM修改了,但是页面没有显示出来。可以考虑通过setTimeout来调用。
function a(html){
$(".main-select").append(html);
window.setTimeout(function(){console("a");},0);
}
大概这样就可以了。