laravel v5.5.24에서 작동하도록 아약스 게시물을 가져 오는 데 어려움이 있습니다. 여기 CSRF 토큰이 포함되어 있어도 Laravel ajax 게시가 작동하지 않습니다.
var CSRF_TOKEN = $('meta[name="csrf-token"]').attr('content');
$.ajaxSetup({
headers: {
'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
}
});
$.ajax({
url: "/postCustomer?XDEBUG_SESSION_START=19683",
type: 'POST',
data: {_token: CSRF_TOKEN, message:myData, "_method": 'POST'},
dataType: 'JSON',
success: function (data) {
console.log('call to postCustomer successful');
}
});
내 경로입니다 : 여기처럼 내 아약스 호출 모습입니다
Route::post('/postCustomer','[email protected]');
이 문제에 대한 흥미로운 점은 모든 게시물의는의 (모두 아약스 호출을 얻기 위해 변경 될 때 및 경로에서) 요청이 도착하여 올바르게 처리됩니다. 디버그가 트리거되고 모두 정상입니다. 그러나 route 및 ajax 호출이 POST로 설정되어 있으면 디버그가 실행되지 않고 요청이 나타나지 않습니다. 물론 이것은 CRSF 문제와 같은 냄새가 나지만 헤더에 CRSF 토큰을 포함합니다. .blade.php 파일 내부에 자바 스크립트 코드를하려고하면
당신은 데이터 객체 내부의'_token'을 통과 할 필요가 없습니다. CSRF 토큰은'$ .ajaxSetup()'을 통해 헤더에 자동으로 추가된다. 네트워크 요청 스크린 샷을 게시 할 수 있습니까? –
양식 태그 안에 코드를 게시 할 수 있습니까? –
Hav 콘솔을 점검 했습니까? – Bugfixer