Сначала я бы посоветовал вам просмотреть раздел «Веб-консоль»> «Сеть», чтобы узнать, есть ли странные заголовки или данные запроса или ответа. Возможно, вы не отправляете данные, которые ожидаете отправить. Также ответ от API может не соответствовать ожидаемому.
Я не вижу проблем с кодом, который вы используете. Я бы посоветовал некоторые незначительные изменения:
<script>
$(function() {
$('#selType').change(function(event) {
var selType = $("#selType").val();
var radiotype = $("#radioid").val();
console.log("Select", selType, "Radio", radiotype);
$.getJSON('JsonServlet', {
selTypeList: selType,
radiotype: radiotype
}, function(resp) {
var sObj = $('#listtemplate');
sObj.html("");
console.log("Response", resp);
$.each(resp, function(k, v) {
$('<option>').val(v).html(v).appendTo(sObj);
});
});
});
});
</script>
Как я уже сказал, ничего плохого в том, что у вас было, но это вводит несколько ярлыков. Использование $.getJSON()
просто помогает обеспечить ожидание возврата данных JSON.