Дисциплины - Проектирование динамических страниц с помощью фрэймворка Vue.js

Запросы на бэкенд - Получение данных по ссылке с помощью Axios

Данные генерируемые сервером, могут быть динамическими, т.е. зависеть от параметров. Пример - https://randomuser.me/api/?results=2 или https://randomuser.me/api/?results=100. Или статическими, т.е. всегда отдавать одни и те же данные. Могут принимать параметры, по которыми осуществляется запрос на бэкенде, могут не принимать ни одного параметра.

Фронтенд фрэймворкам всё-равно, существует ли файл физически, или он генерируется в момент обращения к нему клиента. Главное, чтобы в формат JSON не было ошибок, иначе фрэймворк откажется его принимать.

При обработке данных, получаемых по ссылке есть несколько особенностей: необходимо выполнить запрос на бэкенд, а для выполнения запроса лучше использовать асинхронную функцию. Для выполнения запросов есть инструмент axios.

npm install axios

https://github.com/axios/axios - По этой ссылке официальная документация

В скрипте компонента запрос идёт в Vuex store:

import {computed, onMounted} from "vue";
import { useStore } from "vuex";
const store = useStore();

const catalogs = computed(() => {
  return store.state.catalogs.data;
});

onMounted(() => {
  store.dispatch("fetchCatalogs");
});

В файле store/index.js реализуем метод fetchUsers, который непосредственно и делает сам запрос на бэкенд:

  actions: {
    async fetchUsers({ commit }) {
      try {
        const data = await axios.get(
            "https://jsonplaceholder.typicode.com/users"
        );
        commit("SET_USERS", data.data);
      } catch (error) {
        alert(error);
        console.log(error);
      }
    },
  }

Количество комментариев: 0

Для того, чтобы оставить коментарий необходимо зарегистрироваться


Изображения Видео

1. Изображения, стили и файл JSON с данными https://disq.us/url?url=https%3A%2F%2Fgithub.com%2Fdanielkellyio%2Fvue-4-router-course-starter-files%2Farchive%2Frefs%2Fheads%2Fmain.zip%3AVL_V_RMWqj0IZyNcJWGjv4lMY7U&cuid=4942816
2. Bitcoin JSON https://api.coindesk.com/v1/bpi/currentprice.json
3. Vue-router https://www.vuemastery.com/blog/vue-router-a-tutorial-for-vue-3/
4. Vue 3 by Example https://github.com/PacktPublishing/-Vue.js-3-By-Example
5. Vue3 example https://github.com/mikhalkevich/vue_course
6. Vue_admin https://github.com/mikhalkevich/vue_admin
7. VueAxiosProject https://github.com/mikhalkevich/VueAxiosProject