#javascript #html #ajax
#javascript #HTML #ajax
Вопрос:
У меня проблема с настройкой текста параметра из URL-адреса ajax.
Например, у меня есть URL-адрес http://localhost:5000/api/test/calgroups
В этом URL-адресе я вижу json
список всех названий групп (МОЖЕТ БЫТЬ БОЛЬШЕ)
["tes1","tes2","tes3","tes4","tes5","tes6"]
но я не могу найти какую-либо информацию о том, как настроить, мой текст с функцией множественного выбора, который я хочу сделать таким
<select class="selectpicker" name="MultiSelectGroup" id="ms1" multiple>
<option id="gruop" >test1</option>
<option id="gruop" >test2</option>
<option id="gruop" >test3</option>
... (ant more)
</select>
Мой код для получения текстового значения в поле предупреждения (его необязательно показывать, но, возможно, это поможет)
$('.selectpicker').on('changed.bs.select', function () {
selectedServices = $.map($(this).find("option:selected"), function(o) { return o["label"]; });
alert(selectedServices)
});
Итак, как настроить мои поля параметров со значением из ajax link? Любая помощь будет оценена по достоинству
Ответ №1:
Вы можете извлекать значения с помощью ajax и вставлять их в качестве параметров следующим образом:
(Пожалуйста, имейте в виду, что выборка значений здесь высмеивается, она просто возвращает массив)
async function getValuesWithAjax() {
return ["test1", "test2", "test3"];
}
$(function() {
getValuesWithAjax().then(values => {
values.forEach(value => {
$(".selectpicker").append($("<option>")
.val(value)
.html(value)
);
});
});
$('.selectpicker').on('change', function() {
selectedServices = $(this).val();
alert(selectedServices)
});
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<select class="selectpicker" name="MultiSelectGroup" id="ms1" multiple>
</select>
Комментарии:
1. спасибо за помощь, но, может быть, можно обойтись без асинхронной функции? и у меня есть вопрос, тогда
var url = '/api/v1/calgroups/' return url;
это не работает для меня, может быть, вы знаете, почему?2. Вы пытаетесь загрузить массив с URL-адреса, простой возврат URL-адреса не загружает данные. Вы должны извлечь данные с помощью
XMLHttpRequest
. Извлечение данных из внешнего ресурса всегда происходит асинхронно.3. итак, в моем случае будет
xhttp.open("GET", "/api/test/calgroups", true); return xhttp;
, если у меня справа есть проблема со ссылкой, тогда ссылка/api/test/calgroups
работает нормально, но запрос сделать это/api/test/calgroups/
, тогда ссылка не работает4. Пожалуйста, создайте новый вопрос для обработки запросов API на HTML-странице.