в первом сервере вызовов ajax возвращает строку json, которая преобразуется в массив js. Я хочу запустить ajax-вызов для каждого элемента массива.Вложенные вызовы AJAX
Например, первый вызов ajax возвращает семестр 1,2,3,4. Теперь я хочу получить предметы для семестра 1 и показать их в таблице, затем получить предметы семестра 2 и показать все предметы в таблице и т. Д.
Я написал код, но он отображает все темы в последних Таблица. Кто-нибудь может мне помочь?
$.ajax(
{
type: "POST",
url: "returnSemesterNumbers",
data: "programId="+selectedprog,
success: function(data)
{
var semesters=$.parseJSON(data);
for(x in semesters)
{
semnum=semesters[x].semesterNumber;
alert(semnum);
$("#tables").append('<table id=table'+x+' style=float:left><tr><td>'+semnum+'</td></tr>');
$.ajax(
{
type: "POST",
url: "returnCourses",
data: "programId="+selectedprog+"&semNum="+semnum,
success: function(data1)
{
var courses=$.parseJSON(data1);
for(y in courses)
{
$("#table"+x).append('<tr><td>'+courses[y].title+'</td></tr>');
}
}
});
$("#table"+x).append('</table>');
}
}
});
}
else
{
$("#tables").css('display','none');
}
});
Если вы добавите 'dataType: 'json'', вам не понадобится' $ .parseJSON (data) '. 'data' будет проанализирован для вас. –