>  Q&A  >  본문

Axios 요청이 예상된 쿠키 헤더를 Django 서버로 보내지 않습니다.

React 앱에서 Axios 게시 요청을 사용하여 Django 서버에 파일을 업로드하려고 합니다. 서버는 요청 헤더에 CSRF 쿠키가 있을 것으로 예상합니다.

이 요청에는 쿠키 설정을 위해 찾을 수 있는 모든 방법이 이미 포함되어 있습니다. document.cookie,设置withCredential: true,并指定Cookie 헤더를 통해.

내 Axios 요청은 다음과 같습니다.

으아악

이것은 내 Django 뷰입니다:

으아악

또한 settings.py:

에서 관련 Django 설정이 올바르게 설정되어 있다고 생각합니다. 으아악

CSRF 쿠키가 요청 헤더에 포함되어 있는지 또는 CSRF 요구 사항을 충족하는지 확인하는 방법은 무엇입니까? 확실히 뷰에 @csrf_exempt를 추가하면 경로가 작동하므로 실제로 CSRF 문제여야 합니다.

P粉285587590P粉285587590227일 전330

모든 응답(1)나는 대답할 것이다

  • P粉463824410

    P粉4638244102024-03-29 10:02:40

    토큰을 formData로 포장하면 됩니다. 헤더나 쿠키 조작이 필요하지 않습니다:

    으아아아

    팁: 쿠키, 헤더 등이 전송되고 있는지 확실하지 않을 때마다 브라우저 개발자 도구의 네트워크 탭을 확인하세요. 요청의 "요청 헤더" 부분에 표시되면 전송되고 있는 것이므로 문제가 서버 측에 있다는 의미입니다. 이 경우 multipart/form-data Django 需要 csrfmiddlewaretoken 表单字段中的令牌。对于 application/json 请求,您可以使用 X-CSRFToken 헤더용입니다.

    회신하다
    0
  • 취소회신하다