@andrei24

Как происходит отправка запроса на ssr приложении?

Всем привет.
Как отрабатывает отправка запроса на для получения данных в vuejs (ssr) + node express сервер?

Строю ssr приложение, очень важна индексация и чтобы данные были получены до отображения страницы. Для работы взял фреймворк nuxtjs.org и node express сервер.
Структура приложения:
api.site.ru - апи без авторизации
site.ru - приложение + сервер express

На главной site.ru сразу идут запросы на api.site.ru :
<template>
...
</template>

<script>
    import axios from 'axios'

    export default {
        async asyncData({ params }) {
            console.log('server ajax')
            let { data } = await axios.get('http://api.site.ru/companies')

            return { companies: data }
        }
    }
</script>


Запускаю npm run dev. При открытии site.ru никаких ajax не идет. Запрос node express сервер отправил. Все отлично работает.
Затем создаю вторую страницу site.ru/new (new.vue) тот же код с ajax запросом. И при переходе между страницами браузер шлет обычный ajax, но если вбить сразу site.ru/new, то запроса нету ?
  • Вопрос задан
  • 1219 просмотров
Решения вопроса 2
Negezor
@Negezor
Senior Shaurma Developer
Так всё правильно, если вы загружаете вкладку то этот запрос будет выполнен на сервере, а на клиенте он уже будет без перезагрузки перемещаться по ссылкам. В nuxt-link внутри именно тэг "a". asyncData вызывается на сервере для получение данных, так и на клиенте когда в SPA приложении перешли.
Ответ написан
yarkov
@yarkov Куратор тега JavaScript
Помог ответ? Отметь решением.
И что не так? Переход между страницами обрабатывается клиентом, соответственно asyncData выполняется на клиенте. Все нормально.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы