当前位置:首页 > 开发教程 > js/jQuery教程 >

Vue使用axios添加请求头方式

时间:2022-06-01 15:29 来源:未知 作者:我们一起笑 收藏

这篇文章主要介绍了Vue使用axios添加请求头方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教

使用axios添加请求头

import axios from 'axios'
const service = axios.create({
  baseURL: process.env.VUE_APP_API, // 请求的接口
  timeout: 100000 // 请求超时时间
})
 
// 使用拦截器,定义全局请求头
service.interceptors.request.use(config => {
  // 在请求头中添加token
  config.headers.Authorization = window.localStorage.getItem("user")
  return config
})
// 设置 Vue.prototype.$http 为 axios 的别名:
Vue.prototype.$http=service
      this.$http({
        url: "url", 
        params: {
          bookNumber: this.booknum
        }
      })
        .then(res => {
        // 成功
        })
        .catch(err => {
        // 失败
        });

axios添加自定义头部出现的问题

在浏览器的http的 GET, POST的跨域请求中,添加自定义头部,发送不是字符串,fromData的数据时,都是非简单请求。

浏览器都预先发出OPTIONS(预检安全请求)。

所以我们在axios中添加自定义头部时候需要后端返回OPTIONS请求允许才进行POST或GET请求。

后端中只需要对OPTIONS请求做出允许自定义头部和状态200即可。

if(req.method==='OPTIONS'){
    res.writeHead(200,{
      //允许跨域
      "Access-Control-Allow-Origin":"*",
      "Access-Control-Allow-Credentials":"true",
      //允许请求类型
      "Access-Control-Allow-Methods":"*",
      //允许自定义头部
      'Access-Control-Allow-Headers':"*",
      'Access-Control-Expose-Headers':'*'
    })
    res.end();
  }

以上为个人经验,希望能给大家一个参考,也希望大家多多支持源码搜藏网。


下一篇:没有了

js/jQuery教程阅读排行

最新文章