axios 调用raw类型的参数接口
content-Type
要设置成application/json
axios.defaults.headers['content-Type'] = 'application/json'
- 参数直接object对象传进去,不需要
qs.stringfy()
export const getOutInfo = data => {
axios.defaults.headers['content-Type'] = 'application/json'
return axios.post('/url', data)
}
// axios.defaults.headers['content-Type'] = 'application/json'
// 上述设置方法在默认类型为application/x-www-form-urlencoded时,调用该方法后会影响下一个接口,下一个接口若需要application/x-www-form-urlencoded类型,但是实际类型还会是application/json,采用拦截器设置更好
axios.interceptors.request.use(
config => {
config.headers.ts = new Date().getTime()
if (config.meta?.type) {
config.headers['Content-Type'] = config.meta.type
} else {
config.data = qs.stringify(config.data)
}
return config
},
error => Promise.reject(error)
)
// 调用示例
export const postJson = data => {
return axios({
method: 'post',
url: '/url',
data,
meta: { type: 'application/json' }
})
}