nuxt中设置请求拦截器

1.创建plugins文件夹,在该文件下创建一个request.js文件

// import request from '@/utils/request'
import axios from 'axios'

export const request= axios.create({
    baseURL: 'https://conduit.productionready.io'
})

export default ({ store }) => {
    // 请求拦截器
    request.interceptors.request.use(function (config) {
        // Do something before request is sent
        const {user} = store.state
        if(user){
            config.headers.Authorization = `Token ${user.token}`
        }
        return config;
    }, function (error) {
        // Do something with request error
        return Promise.reject(error);
    });
    // 响应拦截器
    request.interceptors.response.use(function (response) {
        // Any status code that lie within the range of 2xx cause this function to trigger
        // Do something with response data
        return response;
    }, function (error) {
        // Any status codes that falls outside the range of 2xx cause this function to trigger
        // Do something with response error
        return Promise.reject(error);
    });
}

2.使用创建api/user.js

import {request} from '@/plugins/request'
export const register = data => {
    return request({
        method: 'POST',
        url: '/api/users',
        data
    })
}

export const login = data => {
    return request({
        method: 'POST',
        url: '/api/users/login',
        data
    })
}

2.在根目录在创建nuxt.config.js

export default{
    plugins: [
        '~/plugins/request.js'
    ]
}

 

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值