ant design pro 用 request 封装 axios 后 get 方法请求接口设置了headers[‘Content-Type‘]不起作用的问题
在axios封装请求方法中设置了请求头,request headers中没有出现
service.interceptors.request.use( config => { config.data = JSON.stringify(config.data); config.headers['Authorization'] = getToken(); config.headers['Content-Type'] = "application/json;charset=utf-8"; return config; }, error => { return Promise.reject(); } );
原因:npm下axios的源码中,当未设置requestData的时候会删掉Content-Type的设置
// Add headers to the request if ('setRequestHeader' in request) { utils.forEach(requestHeaders, function setRequestHeader(val, key) { if (typeof requestData === 'undefined' && key.toLowerCase() === 'content-type') { // Remove Content-Type if data is undefined delete requestHeaders[key]; } else { // Otherwise add header to the request request.setRequestHeader(key, val); } }); }
// 随便写个值 绕过if判段 if (config.method === 'get' || !config.data) { config.data = {} }
版权声明:本文由沐萱草的笔记发布,如需转载请注明出处。