Vue는 Axios를 포함하여 많은 인기 라이브러리와 플러그인을 지원하는 널리 사용되는 JavaScript 프레임워크입니다. Axios는 Vue 애플리케이션에서 비동기 요청과 데이터 상호 작용을 가능하게 하는 Promise 기반 HTTP 라이브러리입니다.
이 기사에서는 Axios를 사용하여 Vue 애플리케이션에서 비동기 요청 및 데이터 상호 작용을 구현하는 방법을 알아봅니다. 구체적으로 Vue 컴포넌트 내에서 사용하는 방법, Axios의 기본 구성을 설정하는 방법, Axios 인터셉터 및 오류 처리를 사용하는 방법을 포함하여 Axios의 기본 사항을 살펴보겠습니다.
준비
Axios를 사용하기 전에 Vue 애플리케이션에 설치해야 합니다. Axios 설치는 매우 간단합니다. 터미널에서 다음 명령을 실행하세요.
npm install axios
Axios를 설치한 후 Vue 구성 요소에서 사용할 수 있습니다. Vue 구성 요소에서 Axios 라이브러리를 가져오고 다음 코드를 사용하여 Axios 인스턴스를 생성해야 합니다.
import axios from 'axios'; const axiosInstance = axios.create({ baseURL: 'https://api.example.com', });
baseURL은 우리가 액세스할 API의 루트 URL입니다.
Axios 설치 및 구성을 완료한 후 비동기 요청 데이터 상호 작용 구현을 시작하겠습니다.
비동기 요청 시작
Axios는 Promise를 사용하여 비동기 요청을 관리합니다. Axios 인스턴스의 다양한 방법을 사용하여 GET, POST, PUT, DELETE 등 다양한 유형의 요청을 보낼 수 있습니다. 이에 대해 걱정하지 마십시오. 각 방법의 구현에 대해서는 아래에서 자세히 설명하겠습니다.
GET 요청
GET은 Axios에서 가장 일반적으로 사용되는 방법입니다. API에서 리소스를 얻는 데 사용됩니다. Axios 인스턴스의 get 메소드를 사용하여 GET 요청을 시작할 수 있습니다. 예:
axiosInstance.get('/users') .then(response => console.log(response.data));
이 요청은 기본 Axios 구성을 사용하고 https://api.example.com/users에서 GET 요청을 보냅니다. 성공하면 콘솔에 응답 데이터가 표시됩니다.
POST 요청
POST 요청은 사용자 로그인, 등록, 데이터 제공 등의 데이터를 API로 보내는 데 자주 사용됩니다. Axios 인스턴스의 post 메소드를 사용하여 POST 요청을 시작할 수 있습니다. 예:
axiosInstance.post('/login', { username: 'JohnDoe', password: 'secret' }) .then(response => console.log(response.data));
는 사용자 이름과 비밀번호가 매개변수로 포함된 객체를 사용하여 https://api.example.com/login에 POST 요청을 보냅니다. 성공하면 콘솔에 응답 데이터가 표시됩니다.
PUT 요청
PUT 요청은 기존 리소스를 업데이트하는 데 자주 사용됩니다. Axios 인스턴스의 put 메소드를 사용하여 PUT 요청을 시작할 수 있습니다. 예:
axiosInstance.put('/users/1', { name: 'John Doe' }) .then(response => console.log(response.data));
는 업데이트된 데이터를 매개변수로 포함하는 객체와 함께 https://api.example.com/users/1에 PUT 요청을 보냅니다. 성공하면 콘솔에 응답 데이터가 표시됩니다.
DELETE 요청
DELETE 요청은 리소스를 삭제하는 데 자주 사용됩니다. Axios 인스턴스의 삭제 메소드를 사용하여 DELETE 요청을 시작할 수 있습니다. 예를 들어
axiosInstance.delete('/users/1') .then(response => console.log(response.data));
는 https://api.example.com/users/1에 DELETE 요청을 보냅니다. 성공하면 콘솔에 응답 데이터가 표시됩니다.
위의 모든 메서드는 Axios Promise를 반환한다는 점에 유의해야 합니다. .then() 또는 .catch()를 사용하여 비동기 요청의 성공과 실패를 관리할 수 있습니다.
Axios의 기본 구성
Vue 애플리케이션에서 Axios를 사용할 때 Axios 인스턴스를 생성하고 일부 구성을 수행하여 요청을 관리할 수 있습니다. 다음은 몇 가지 일반적인 Axios 구성 항목입니다.
baseURL: API의 루트 URL
timeout: 요청 시간 초과(밀리초)
headers: 요청의 기본 헤더
withCredentials: 쿠키 전송 여부
validateStatus: HTTP 상태 정의 코드는 성공적인 상태 코드로 간주되어야 합니다
Axios 모듈 수준 구성을 사용하여 Axios의 기본 구성을 설정할 수 있습니다. 예:
axios.defaults.baseURL = 'https://api.example.com'; axios.defaults.timeout = 5000;
이 예에서 Axios 인스턴스는 https://api.example.com을 사용합니다. API 루트 URL로 사용하고 기본 요청 제한 시간을 5000밀리초로 설정합니다.
Axios Interceptor
Axios Interceptor는 Axios 요청 및 응답 중에 데이터를 가로채고 수정할 수 있는 강력한 기능입니다. 인터셉터를 사용하여 요청하기 전에 Authorization 헤더를 삽입하는 등 특정 기본 동작을 삽입할 수 있습니다.
Axios 인터셉터는 요청 인터셉터와 응답 인터셉터로 구분됩니다. 요청 인터셉터는 요청 전송 프로세스를 처리하고, 응답 인터셉터는 서버에서 반환된 데이터를 처리합니다.
Axios에서는 인터셉터 속성을 사용하여 인터셉터를 설정할 수 있습니다. 각 요청과 응답에 대해 각 인터셉터를 인터셉터에 추가할 수 있습니다. 예:
// 添加一个请求拦截器 axiosInstance.interceptors.request.use(config => { // 添加Authorization header config.headers.Authorization = `Bearer ${localStorage.getItem('token')}`; return config; }, error => Promise.reject(error)); // 添加一个响应拦截器 axiosInstance.interceptors.response.use(response => { // 如果响应是一个重定向到登录页面,我们就清空localStorage if (response.status === 302 && response.headers.location === '/login') { localStorage.removeItem('token'); localStorage.removeItem('user'); } return response; }, error => Promise.reject(error));
이 예에서는 요청 인터셉터와 응답 인터셉터라는 두 개의 인터셉터를 추가했습니다. 요청 인터셉터는 각 요청이 전송되기 전에 Authorization 헤더를 추가합니다. 응답 인터셉터는 응답이 로그인 페이지로 리디렉션되는지 확인하고, 그렇다면 로컬 액세스 토큰과 사용자 정보를 지웁니다.
오류 처리
Axios는 오류를 확인하는 몇 가지 방법을 제공합니다. 원칙적으로 .then() 또는 .catch()에서 Axios 오류를 잡을 수 있습니다. 그러나 실제 프로덕션 환경에서는 더 나은 오류 처리가 필요합니다. Axios 오류는 인터셉터를 사용하여 포착하고 처리할 수 있습니다. 예:
axiosInstance.interceptors.response.use(response => response, error => { // 处理错误 if (error.response.status === 401) { // 如果响应状态码是401,我们就清空storage localStorage.removeItem('token'); localStorage.removeItem('user'); // 跳转到登录界面 router.push('/login'); } return Promise.reject(error); });
이 예에서는 응답 상태 코드가 401이면 로컬 저장소의 토큰과 사용자 정보를 지우고 로그인 페이지로 이동합니다.
결론
Vue는 Axios를 사용하여 Vue 애플리케이션에서 API 및 데이터 상호 작용에 대한 비동기 요청을 구현하는 강력한 프런트 엔드 프레임워크입니다. Axios는 요청 및 응답 중 비동기 오류를 처리하기 위해 다양한 HTTP 메서드와 인터셉터를 처리하는 사용하기 쉬운 HTTP 라이브러리입니다. Axios를 사용하여 Vue 애플리케이션을 백엔드 API에 연결하고 인터셉터 및 오류 처리를 통해 Vue 애플리케이션을 향상시킬 수 있습니다.
위 내용은 Axios를 사용하여 Vue에서 비동기 요청 및 데이터 상호 작용을 구현하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!