Vue 전단 의 axios 패키지 및 사용 에 대한 자세 한 설명
우선 http 디 렉 터 리 에 있 는 두 파일 입 니 다.
helper.js
이것 은 기능 성 파일 로 url,필터 파라미터 등 을 포함 하여 하나의 파일 에 집합 하여 유지 와 수정 을 편리 하 게 합 니 다.
한번 읽 어보 고 무슨 기능 이 있 는 지 알 면 돼 요.
const helper = {
// name
getQueryString (name) {
let reg = new RegExp(`(^|&)${name}=([^&]*)(&|$)`)
let hash = window.location.hash
let search = hash.split('?')
let r = search[1] && search[1].match(reg)
if (r != null) return r[2]; return ''
},
// url
queryString (url, query) {
let str = []
for (let key in query) {
str.push(key + '=' + query[key])
}
let paramStr = str.join('&')
return paramStr ? `${url}?${paramStr}` : url
},
// JS
toType(obj) {
return ({}).toString.call(obj).match(/\s([a-zA-Z]+)/)[1].toLowerCase()
},
//
filterNull(o) {
for (var key in o) {
if (o[key] === null) {
delete o[key]
}
if (toType(o[key]) === 'string') {
o[key] = o[key].trim()
} else if (toType(o[key]) === 'object') {
o[key] = filterNull(o[key])
} else if (toType(o[key]) === 'array') {
o[key] = filterNull(o[key])
} else if (toType(o[key]) === 'number') {
o[key] = filterNull(o[key])
}
}
return o
}
}
export default helper
http.js요청 을 받 고 인 터 페 이 스 를 노출 합 니 다.매개 변수 params,백 엔 드 로 보 내 는 url 과 token(JWT 를 사용 하지 않 는 학생 은 매개 변수 token 을 생략 할 수 있 습 니 다)을 포함 하고 처리 후 백 엔 드 로 보 냅 니 다.
import axios from 'axios'
let qs = require('querystring')
import helper from './helper'
//console.log( process.env.NODE_ENV)
// baseURL,
let root = process.env.NODE_ENV === 'development'
// api
?
`http://localhost:3001/api`
// api
:
`http://127.0.0.1:3001/api`;
// axios,
axios.defaults.headers.post['Content-Type'] = 'application/x-www-form-urlencoded';
function apiAxios(method, url, params, token) {
if (params) {
params = helper.filterNull(params)
}
return axios({
method: method,
//
url: method === 'GET'|| method === 'DELETE' ? helper.queryString(url,params) : url,
data: method === 'POST' || method === 'PUT' ? qs.stringify(params) : null,
baseURL: root,
timeout: 10000,
headers: { Authorization: `Bearer ${token}` }, //jwt
withCredentials: false
})
}
// vue
export default {
get: function (url, params, token) {
return apiAxios('GET', url, params, token)
},
post: function (url, params, token) {
return apiAxios('POST', url, params, token)
},
put: function (url, params, token) {
return apiAxios('PUT', url, params, token)
},
delete: function (url, params, token) {
return apiAxios('DELETE', url, params, token)
},
}
api.js전단 api 인 터 페 이 스 를 밀봉 하고 전단 페이지 에서 보 내 온 요청 을 받 아들 입 니 다.패 키 징 후 함수 명 에 따라 유형 과 url 을 판단 하여 axios 파일 에 보 내 고 유지 와 개발 에 편리 합 니 다.
import http from '../http/http.js'
export default {
login(data, token){
return http.post("/login",data, token)
},
getUserInfo(data, token){
return http.get("/getUserInfo",data, token)
}
}
main.js 에서 인용 하면 전역 호출 이 가능 합 니 다.전단 에 this.$api.url Name()형식 으로 요청 을 보 낼 수도 있 고 api 를 거치 지 않 고 this.$http 를 사용 할 수도 있 지만 매번 url 을 써 야 합 니 다.인터페이스 가 많 을 때 귀 찮 습 니 다.그래서 api 로 포장 하 는 것 을 추천 합 니 다.
import api from './api/api.js'
import http from './http/http.js'
//
Vue.prototype.$api = api
Vue.prototype.$http = http
전단 에서 사용:axios 는 promise 대상 으로 돌아 가기 때문에 백 엔 드 에서 보 낸 response 를'then'형식 으로 받 은 다음 에 해당 하 는 피드백 을 해 야 합 니 다.
// this.$api api , api this.$http
this.$api.login(data, token).then((res) => {
console.log(res)
}).catch((err) => {
console.log(res)
})
위 에서 말 한 것 은 편집장 님 께 서 소개 해 주신 Vue 전단 이 axios 의 패 키 징 과 사용 에 대한 상세 한 통합 입 니 다.여러분 께 도움 이 되 기 를 바 랍 니 다.궁금 한 점 이 있 으 시 면 저 에 게 메 시 지 를 남 겨 주세요.편집장 님 께 서 신속하게 답 해 드 리 겠 습 니 다.여기 서도 저희 사이트 에 대한 여러분 의 지지 에 감 사 드 립 니 다!
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Fastapi websocket 및 vue 3(Composition API)1부: FastAPI virtualenv 만들기(선택 사항) FastAPI 및 필요한 모든 것을 다음과 같이 설치하십시오. 생성main.py 파일 및 실행 - 브라우저에서 이 링크 열기http://127.0.0.1:...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.