По умолчанию jjery-метод ajax использует HTTP GET, что заставляет браузер кэшировать данные, что, в свою очередь, останавливает ваш второй ajax-запрос от доступа к серверу.Вместо этого используйте HTTP POST:
function getSubTraning(mainId) {
$(".res" + mainId).html("");
startLoad();
$.ajax({
type: 'POST',
url: "ajax/GetSubTraining.aspx",
data: { "mainId": "mainId" },
success: function (data) {
stopLoad();
$(".res" + mainId).append(data);
}
});
}
В качестве альтернативы используйте метод post jquery, который в некоторых случаях является сокращением для метода ajax, например, вашего:
function getSubTraning(mainId) {
$(".res" + mainId).html("");
startLoad();
$.post({
"ajax/GetSubTraining.aspx",
{ "mainId": "mainId" },
function (data) {
stopLoad();
$(".res" + mainId).append(data);
}
});
}
Кроме того, он безопаснеецитировать данные строки json, потому что некоторые системы подавляют данные строки json без кавычек.