@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, то запроса нету ?
  • Вопрос задан
  • 1300 просмотров
Решения вопроса 2
Negezor
@Negezor
Senior Shaurma Developer
Так всё правильно, если вы загружаете вкладку то этот запрос будет выполнен на сервере, а на клиенте он уже будет без перезагрузки перемещаться по ссылкам. В nuxt-link внутри именно тэг "a". asyncData вызывается на сервере для получение данных, так и на клиенте когда в SPA приложении перешли.
Ответ написан
yarkov
@yarkov Куратор тега JavaScript
Помог ответ? Отметь решением.
И что не так? Переход между страницами обрабатывается клиентом, соответственно asyncData выполняется на клиенте. Все нормально.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы