Laravel에서 AJAX POST 요청을 사용하여 데이터베이스에서 데이터를 삭제하려고 하면 "CSRF 토큰이 일치하지 않습니다." 이는 Laravel이 교차 사이트 요청 위조 공격으로부터 보호하기 위해 모든 형태의 CSRF 토큰을 포함하기 때문에 발생합니다.
제공된 HTML 및 AJAX 코드는 삭제를 위한 설정을 보여줍니다. 데이터:
HTML:
@foreach($a as $lis) //some code <a href="#">
AJAX 코드:
$('body').on('click', '.delteadd', function (e) { e.preventDefault(); //alert('am i here'); if (confirm('Are you sure you want to Delete Ad ?')) { var id = $(this).attr('id'); $.ajax({ method: "POST", url: "{{url()}}/delteadd", }).done(function( msg ) { if(msg.error == 0){ //$('.sucess-status-update').html(msg.message); alert(msg.message); }else{ alert(msg.message); //$('.error-favourite-message').html(msg.message); } }); } else { return false; } });
"CSRF 토큰 불일치" 오류를 해결하려면 CSRF를 포함해야 합니다. AJAX 요청에 토큰을 추가하세요. 요청에 다음 코드를 추가하면 됩니다.
data: { "_token": "{{ csrf_token() }}", "id": id }
업데이트된 AJAX 코드:
$('body').on('click', '.delteadd', function (e) { e.preventDefault(); //alert('am i here'); if (confirm('Are you sure you want to Delete Ad ?')) { var id = $(this).attr('id'); $.ajax({ method: "POST", url: "{{url()}}/delteadd", data: { "_token": "{{ csrf_token() }}", "id": id } }).done(function( msg ) { if(msg.error == 0){ //$('.sucess-status-update').html(msg.message); alert(msg.message); }else{ alert(msg.message); //$('.error-favourite-message').html(msg.message); } }); } else { return false; } });
이를 추가하면 AJAX 요청에 다음이 포함됩니다. CSRF 토큰과 삭제 작업을 수행하는 데 필요한 데이터.
위 내용은 AJAX POST 요청에서 Laravel의 'CSRF 토큰 불일치' 오류를 해결하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!