Я знаю, что это было предсказано до смерти, но моя проблема немного отличается от уже доступных ответов.Как разобрать несколько объектов JSON, полученных из сервлета с помощью AJAX
Я хочу изменить значение 2 других выпадающих списков на слушателе изменений первого списка. Это происходило гладко, когда было всего 1 combobox/dropdown. Но теперь разделение или разбор данных не происходит для второго combobox.
categoryValue = req.getParameter("bellCategorySel");
List<String> paramList = insightDbConn.getParametersList(categoryValue);
List<String> testStationList = insightDbConn.getTestStationsFromTestRecords(categoryValue);
String parsedParamList = new Gson().toJson(paramList);
String parsedtestStationList = new Gson().toJson(testStationList);
PrintWriter out = resp.getWriter();
JSONObject json = new JSONObject();
json.put("parameters", parsedParamList);
json.put("teststations", parsedtestStationList);
out.print(json);
Это мой код сервлета на бэкэнд. Я поместил слушателя изменений в 1-ое поле со списком, которое дает мне значение категории. Основываясь на этом значении, я вызывал другой набор значений (я проверял, значения идут должным образом), что я имею в виду в 2 других комбинированных блока.
Когда это был только один список, все было хорошо. Теперь есть 2.
Ниже мой передний конец кода, который анализирует информацию Жека AJAX:
$("#bellCategorySel").change(function(e) {
$.ajax({
type : 'POST',
cache : false,
data : {
frmSubmit : 'ajax',
bellCategorySel : document.getElementById("bellCategorySel").value,
},
dataType: 'json',
url : '/AnalysisPanel/gaussianbell',
success : function(jsonResponse) {
var arr = JSON.parse(jsonResponse.parameters),
opts = '';
$.each(arr, function(key, val){
opts += '<option value="' + val + '">' + val + '</option>';
});
$('#bellParameterSel').empty().append(opts)
var stations = JSON.parse(jsonResponse.teststations),
stns = '';
$.each(stns, function(key, val){
stns += '<option value="' + val + '">' + val + '</option>';
});
$('#testStation').empty().append(stns)
}
});
e.preventDefault();
return false;
});
Пробовал отладка с Chrome, но нет! все было хорошо. Величина первой комбинации значений, но вторая остается пустой/нулевой. Не знаю, почему!
Пожалуйста, полегче на меня, я новичок
Спасибо за ваше время. Да, это небольшая ошибка, которую вы указали. Кроме того, я сделал некоторые трюки и на заднем конце. Я конкатенировал 2 строки в формате json array, а затем на переднем конце я разделил их на два разных массива. И это сработало :) – Vishal