我正在尝试将带有axios删除请求的x-csrf令牌发送到我的django api。这是函数:
export const deleteTripReport = (tripReport) => {
return dispatch => {
dispatch(deleteTripReportsPending());
axios.delete(`http://localhost:8000/api/v1/reports/${tripReport}`)
.then(response => {
dispatch(deleteTripReportsFulfilled());
})
.catch(err => {
dispatch(deleteTripReportsRejected(err));
})
}
}
我尝试添加
axios.defaults.xsrfCookieName = 'csrftoken'
axios.defaults.xsrfHeaderName = 'X-CSRFToken'
在我的进口下方。 django服务器返回“禁止(未设置CSRF Cookie)。我尝试添加标头
{headers: {
'X-Requested-With': 'XMLHttpRequest',
'X-CSRF-TOKEN': "mkTF7lcI4BVl42lJcFzqNbfeVvoVfLSH7e01kznsEQLYFEoWdchL0tuKZ5HeGnOa",
}}
使用我的实际Cookie。然后,django服务器返回OPTIONS而不是DELETE,并且控制台记录缺少的“ x-csrf-token”。
我在端口8000上运行django服务器,在3000上运行react服务器以进行热重载,但是我可以运行build,并且它们都将在8000上运行,但是目前这同样失败。