Ваши записи в журнале подсказывают вам.
Если не указано иное, вызовы ajax будут выполняться асинхронно.
В этом случае в журнале вы видите, что регистрация значения countAnchors происходит до завершения вызова ajax. Тот факт, что он был написан ранее в блоке сценария, не означает (в данном случае), что он завершен до выполнения следующей части блока сценария.
Бьюсь об заклад, это даст вам значение и вернет две строки в журнал консоли в ожидаемом порядке:
var countAnchors;
$.ajax({
url: countUrl,
method: "GET",
data: @Model.InitialTrainingId,
success: function (result) {
console.log("result: ",result);
countAnchors = result;
console.log("countAnchors: ",countAnchors);
doSomething();
},
error: function (jqXHR) {
console.log(jqXHR);
alert("There was a problem");
}
});
function doSomething()
{
alert('countAnchors: ' + countAnchors);
}
РЕДАКТИРОВАТЬ: Если вам нужно сделать что-то со значением countAnchors, создайте новую функцию javascript и вызовите ее из функции успеха после установки countAnchors.