Я пытаюсь вызвать действие на контроллере с помощью ajax: 10 раз с 2-секундной задержкой в моем приложении MVC5.Почему не выполняются вызовы ajax с указанной задержкой
Вот код, который я написал:
$(document).ready(function() {
(function loop(i) {
setTimeout(function() {
var d = new Date();
console.log(d.getTime());
callAjax();
console.log("works " + i);
if (--i) loop(i);
},
2000); // ms
})(10);
function callAjax() {
$.ajax({
url: '/Home/StartElection',
type: 'POST',
data: "test",
async: true
})
.done(function (partialViewResult) {
$("#partialTable").html(partialViewResult);
});
};
});
Журнал консоли, как и ожидалось (с секундной задержкой 2), но вызовы контроллера происходят мгновенно - когда я поставил перерыв в Visual Studio на действии контроллера следующего вызова после продолжения занимает 2 мс
Я не понимаю, почему это происходит - может ли кто-нибудь помочь?
Edit: Я добавил журнал консольной Date.getTime() как раз перед вызовом АЯКСА & есть 2000 мс между каждым
Как вы можете проверить? –
У меня есть точка останова на вызываемом действии, и как только я продолжаю, он снова попадает в точку останова. – NRKirby
Я предполагаю, что ваше наблюдение неверно из-за асинхронного характера вызова ajax. Вместо того, чтобы использовать оператор блокировки в качестве точки останова, проверьте свою вкладку в сети, чтобы увидеть отправку запроса. EDIT: вы имеете в виду серверную точку или клиентскую сторону? –