使用axios请求发送x-csrf令牌(Django / Reactjs)

时间:2018-11-12 15:44:54

标签: django reactjs django-rest-framework axios

我正在尝试将带有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 Coo​​kie)。我尝试添加标头

{headers: {
  'X-Requested-With': 'XMLHttpRequest',
  'X-CSRF-TOKEN': "mkTF7lcI4BVl42lJcFzqNbfeVvoVfLSH7e01kznsEQLYFEoWdchL0tuKZ5HeGnOa",
}} 

使用我的实际Cookie。然后,django服务器返回OPTIONS而不是DELETE,并且控制台记录缺少的“ x-csrf-token”。

我在端口8000上运行django服务器,在3000上运行react服务器以进行热重载,但是我可以运行build,并且它们都将在8000上运行,但是目前这同样失败。

0 个答案:

没有答案