나는 laravel을 처음 시작했습니다. localhost에서 laravel 5.3을 사용하고 있는데 아약스 게시물 요청을 사용하여 컨트롤러 기능에 데이터를 게시하고 있습니다. 나는 마스터 템플릿의 head 섹션로컬 호스트의 laravel 5.3에있는 ajax 게시 요청의 CSRF 토큰 불일치 예외
<meta name="csrf-token" content="{{ csrf_token() }}">
안쪽이 같은 CSRF 토큰을 통합 한 나는이
처럼 버튼을 클릭에 데이터를 전송하고<script type="text/javascript">
$(document).ready(function() {
$.ajaxSetup({
headers: {
'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
}
});
console.log($('meta[name="csrf-token"]').attr('content'));
});
</script>
이 스크립트를 추가 jQuery를 포함한 후
$.ajax({
type: "POST",
url: './add_to_cart',
data: {id:prod_id,name: name,price:price},
success: function(msg) {
}
});
첫 번째 호출이 올바르게 수행되고 오류는 발생하지 않습니다. 그러나 VerifyCsrfToken.php 라인 67의 첫 번째 호출 각 호출의 반환 오류
TokenMismatchException 후 :
여기오류 스크린 샷은 다음과 같습니다
답장을 보내 주셔서 감사합니다. 설명 된 바와 같이 메타 태그가 포함되어 있습니다. 귀하의 솔루션을 시도했지만 여전히 동일한 error.First 호출 오류가 있지만 그 후에 그것은 예외를 throw합니다. – dev
또한 헤더를 검사하고 각 요청에 csrf 토큰이 포함되어 있지만 여전히 문제가 무엇인지 알지 못합니다. – dev
'/ add_to_cart' 경로에'api' 또는'web' 미들웨어가 있는지 확인할 수 있습니까? 토큰이 모든 POST 요청과 함께 변경되면서 문제가 될 수있는 웹입니다. 그것을 'api'로 변경하십시오. Laravel 5.3에서는 라우트가'routes/api.php' 파일에 있는지 확인합니다. –