Нужно действовать в предыдущем then()
потому что в следующий .then попадает результат разрешения промиса, который возвращает предыдущий .then, а в данном случае - undefined https://learn.javascript.ru/promise-basics
Попробуй заценить https://ru.vuejs.org/ (для работы с данными) + https://quasar.dev/ (для интерфейса)
всякие"калькуляторы" делать милое дело, сосредоточившись на данных вместо обновления DOM и отслеживания событий
нет, там то, что необходимо для сборки бандла приложения. по умолчанию там ничего "серверного" нет. Если же добавить next/nuxt/другой ssr - то да, будет что-то серверное. Отдельно туда же и api добавить можно, но совершенно не обязательно.
в пхп прямо в текст сгенеренной страницы вставить тег script с js, который устанавливает глобальную переменную (например window.my_app_page_count), в js скрипте эту переменную использовать по назначению.
Нужно использовать асинхронный reduce: https://jsfiddle.net/h0kbpwvu/2/
Ну и использовать что-то, что возвращает Promise, а не использует callback, например fetch или axios.
Также можно промисифицировать Jquery, но это путь в никуда. Лучше от него вообще отказаться.
function asyncAjax(url) {
return new Promice((success, error) => {
$.ajax({
type: 'GET',
url,
success,
error
});
});
}
Если я все правильно понял, то полные URL от API имеют отношение только к тем URL, по которым от API нужно получать соответствующие данные.
А то, какие у вас на клиенте маршруты и есть ли они вообще - не соотносится с этими URL в общем случае вообще никак. И использовать эти URL надо в axios (или чем вы там получаете данные от API), а не в router-link