Это часть кода javascript, который работает хорошо. Но я хочу, чтобы отобразить различные опции в // Ex2 линии:javascript - Какая ошибка с этим кодом?
if(profId==10){
//alert(profId);
$("#div_sel_residentType").show("slow");
var selectElm="<label for=\"sel_residentType\">Sélectionniez le Type du Résident:</label><select class=\"form-control\" id=\"sel_residentType\"><option value=\"0\" selected=\"\">Type Résident</option>";
var options ="";
$.get("../api/v1/get/menus/typeresident.json.php", function(dataset, status){
for (var index in dataset){
options = options + "<option value=\""+dataset[index].id+"\">"+dataset[index].description+"</option>";
//console.log(options);
}
console.log(options);//Ex1
});
console.log(options);//Ex2
selectElm = selectElm + options + "</select>";
//console.log(selectElm);
//$("#div_sel_residentType").html(selectElm);
}
Я хотел бы понять, почему он отображает console.log(options);//Ex1
но не console.log(options);//Ex2
'Ex2' выполняется сразу после вызова' $ .get'. 'Ex1' выполняется после того, как вызов получил ответ. –
'$ .get' является асинхронным, что означает, что функция, которую вы передадите ей, будет вызываться, когда ответ будет доступен. Тем временем ваш код уже будет запущен, чтобы перейти в // Ex2, где параметры по-прежнему «». – connexo