axios 设置 transformRequest 后[Object Object]
axios默认是Request Payload格式,加了transformRequest会默认变成form Data格式,需要自己再转一下变回Request Payload
axios.post('URL', data,{
transformRequest: function (data) {
// 对 data 进行任意转换处理
return JSON.stringify(data);;
},
headers: {
'Content-Type': 'application/json;charset=UTF-8'
}
})
axios的transformRequest源码如下:
function transformRequest(data, headers) { normalizeHeaderName(headers, 'Content-Type'); if (utils.isFormData(data) || utils.isArrayBuffer(data) || utils.isBuffer(data) || utils.isStream(data) || utils.isFile(data) || utils.isBlob(data) ) { return data; } if (utils.isArrayBufferView(data)) { return data.buffer; } if (utils.isURLSearchParams(data)) { setContentTypeIfUnset(headers, 'application/x-www-form-urlencoded;charset=utf-8'); return data.toString(); } if (utils.isObject(data)) { setContentTypeIfUnset(headers, 'application/json;charset=utf-8'); return JSON.stringify(data); } return data; }
浙公网安备 33010602011771号