axios post 404 但是 postman 正常

今天遇到这个问题,在获取token的时候。
axios post 404, 但是 postman 正常获取到返回的数据。
路径都是正确的,参数也是正确的。后来发现是没有设置请求头。
这边需要post formdata格式,添加了之后就OK了。
要注意的一点是,我这边在获取token的时候,我把请求头里还加了个

'Authorization': 'Bearer ' + token

我想着token是空应该没什么影响,结果怎么配置了请求头还是404,真的是太蔡了。
想了个偷懒的办法,创建了两个service ,一个是默认带token的,一个只用来请求token如下。

import axios from 'axios'
var service = axios.create({
  timeout: 15000
})
// 请求拦截器,给所有的请求加上token
// 添加请求拦截器
service.interceptors.request.use((config) => {
  let token = localStorage.getItem('token')
  config.headers = {
    'Authorization': 'Bearer ' + token
  }
  return config
}, function (error) {
  // 对请求错误做些什么
  return Promise.reject(error)
})
import axios from 'axios'
var service = axios.create({
  timeout: 15000
})
// 添加请求拦截器
service.interceptors.request.use((config) => {
  config.headers['content-type'] = 'application/x-www-form-urlencoded;charset=UTF-8'
  return config
}, function (error) {
  // 对请求错误做些什么
  return Promise.reject(error)
})
// 添加响应拦截器
service.interceptors.response.use(response => {
  // 对响应数据做点什么
  return response
}, error => {
  // 对响应错误做点什么
  return Promise.reject(error)
})
export default service

import request from '../tokenRequest'
import qs from 'qs'

export const GetToken = params => {
  params = qs.stringify(params)
  return request.post('/ids/connect/token', params).then(res => res)
}

你可能感兴趣的:(vue,个人笔记)