赞
踩
目录
npm install axios -S
大致代码:
- // 对于axios进行二次封装
- import axios from "axios";
- // 引入进度条
- import nprogress from "nprogress";
- // 引入进度条样式
- import "nprogress/nprogress.css"
- //在当前模块引入store
- import store from '@/store'
-
- //1、利用axios对象的方法create,去创建一个axios实例
- // 2、request就是axios,只不过稍微配置一下
- const requests = axios.create({
- // 配置对象
- // 基础路径,发请求时,路径会出现api
- baseURL:'/code',
- // 代表请求时间
- timeout:5000
- })
- // 请求拦截器:在请求之前,请求拦截器可以检测到,在发出去之前做一些事
- requests.interceptors.request.use((config)=>{
- // 进度条开始动
- nprogress.start()
- // console.log(1,store)
- if(store.state.detail.uuid_token){
- //请求一个头字段id
- config.headers.userTempId = store.state.detail.uuid_token
- }
- //判断需要携带token带给服务器、
- if(store.state.user.token){
- config.headers.token = store.state.user.token
- }
- return config;
- });
- // 响应拦截器
- requests.interceptors.response.use((res)=>{
- // 成功的回调函数
- // 进度条结束
- nprogress.done()
- return res.data;
- },(error)=>{
- // 失败的回调函数
- return Promise.reject(new Error('faile'));
- })
- // 暴露
- export default requests

axios.create、axios.interceptors.request.use、axios.interceptors.response.use
- //引入
- import requests from "./request.js"; //路劲自己修改
-
- export const login = (params) => {
- return requests({
- url: "接口路径",
- method: "post" , //后端给什么写什么
- data: params
- })
- }
然后页面引用——
这里用到的就是vue中的store存储数据(注意这里只是示范,登录获取的token信息一般会永久存储在浏览器):
- import {login} from '@/api'
-
- const state ={
- //用户登录信息/token
- userLogin:"",
- }
- const mutations={
- GATLOGIN(state,value){
- state.userLogin = value
- },
- }
- const actions={
- async getLogin({commit}){
- //这里的data(用户登录账号密码)需要传参
- let result = await login(data);
- //console.log(result)
- if(result.code === 200){
- commit("GATLOGIN",result.data)
- //console.log(result.data)
- }
- },
- }
- const getters={
- }
- export default{
- state,
- mutations,
- actions,
- getters
- }

- axios.get("http://localhost:8080/api/userLogin/userLoginlist(url路径)",{
- params:{
- userPassword:this.ruleForm.pass,
- userId:this.userId
- }
- }).then(
- res=>{
- this.$message({
- message:'用户信息修改成功',
- type:'success'
- })
- },
- error=>{
- console.log("b",error.message)
- }
- )

- axios.post('/axios-server',{
- username:'admin',//请求体
- password:'admin'
- },{
- params:{
- id:100,
- vip:7
- },
- })
axios请求:
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。