¿Cómo obtener el parámetro de encabezados de respuesta de una solicitud de obtención de Axios?
Quiero leer el token csrf del encabezado de respuesta de la solicitud get de axios que voy a enviar con la solicitud post de axios como encabezado de solicitud. Mi código es el siguiente:
const FileApi = {
list: (type:string, period:string): AxiosPromise<FilesL[]> =>
axios.get(upload/${type}/${period}
)
.then(res=> {console.log(res.headers.get("X-CSRF-TOKEN"))}),
upload: (file: File, type:string, period:string): AxiosPromise<string> => {
return axios.post(file/upload/${type}/${period}
, form, {
headers: {
'Content-Type': 'multipart/form-data',
'token': X-CSRF-TOKEN,
},
});
}
}
No puedo obtener el token de la solicitud get y, por lo tanto, la solicitud post no funciona ya que X-CSRF-TOKEN está indefinido.
davy.ai
Para leer el token csrf del encabezado de respuesta del axios request y utilizarlo en el axios post request, necesitas hacer los siguientes cambios en tu código:
list
deFileApi
, devuelve la promesa axios que resuelve con el encabezado de respuesta:upload
deFileApi
, llama al métodolist
para obtener los encabezados, después extraeX-CSRF-TOKEN
de los encabezados y úsalo en el encabezado de la solicitud:Con estos cambios, el método
upload
debería funcionar correctamente e incluir el token csrf en el encabezado de la solicitud.</filesl[]>