>  기사  >  백엔드 개발  >  Laravel을 사용하여 Ajax 요청에서 419 POST 오류를 수정하는 방법은 무엇입니까?

Laravel을 사용하여 Ajax 요청에서 419 POST 오류를 수정하는 방법은 무엇입니까?

Barbara Streisand
Barbara Streisand원래의
2024-10-30 20:13:02180검색

How to Fix the 419 POST Error in Ajax Requests with Laravel?

Ajax LARAVEL 419 POST 오류 해결

이 오류는 일반적으로 적절한 CSRF 토큰 확인 없이 Ajax POST 요청을 시도할 때 발생합니다. Laravel은 외부 소스로부터의 악의적인 요청을 방지하기 위해 CSRF 토큰 보호를 구현합니다.

문제:

/company 엔드포인트에 Ajax 호출을 할 때 POST 오류가 발생합니다.

해결책:

이 문제를 해결하려면 Ajax 요청에 CSRF 토큰을 포함해야 합니다. Ajax 호출에 다음 코드 조각을 추가하면 됩니다.

$.ajaxSetup({
    headers: {
        'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
    }
});

이렇게 하면 생성된 CSRF 토큰이 Ajax 요청 헤더에 추가되어 Laravel이 해당 요청이 다음에서 오는지 확인할 수 있습니다. 인증된 사용자.

설명:

Laravel은 각 활성 사용자 세션에 대해 고유한 CSRF 토큰을 자동으로 생성합니다. 이 토큰은 HTML 문서의 메타 태그에 저장됩니다.

<meta name="csrf-token" content="your-generated-token" />

Ajax 호출이 이루어질 때 CSRF 토큰은 메타 태그에 저장된 토큰과 일치해야 합니다. 일치하지 않으면 Laravel은 419 오류와 함께 요청을 거부합니다.

대체 솔루션:

CSRF 토큰 확인에서 특정 URI 경로를 제외하려는 경우 , verifyCSRFToken 미들웨어의 다음 배열에 추가할 수 있습니다:

protected $except = [
    '/route_you_want_to_ignore',
    '/route_group/*'
];

위 내용은 Laravel을 사용하여 Ajax 요청에서 419 POST 오류를 수정하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.