Rumah >pembangunan bahagian belakang >tutorial php >Laravel 5.5 Ajax Ralat 419: Bagaimana untuk Membetulkan Isu Token CSRF?

Laravel 5.5 Ajax Ralat 419: Bagaimana untuk Membetulkan Isu Token CSRF?

DDD
DDDasal
2024-12-06 13:48:17459semak imbas

Laravel 5.5 Ajax Error 419: How to Fix CSRF Token Issues?

Ralat Panggilan Ajax Laravel 5.5: 419 (Status Tidak Diketahui)

Apabila melakukan panggilan Ajax dalam Laravel 5.5, anda mungkin menghadapi ralat dengan mesej "419 (status tidak diketahui)." Ini biasanya berpunca daripada isu dengan mekanisme perlindungan Pemalsuan Permintaan Silang Tapak (CSRF). Begini cara untuk menyelesaikan isu ini:

Pastikan Token CSRF Tersedia

Laravel memerlukan token CSRF untuk mengelakkan permintaan berniat jahat daripada dilaksanakan. Pastikan teg meta token CSRF hadir dalam bahagian pengepala templat bilah anda:

<meta name="csrf-token" content="{{ csrf_token() }}" />

Akses Token CSRF dalam Ajax

Konfigurasikan permintaan Ajax anda untuk mendapatkan semula secara automatik dan masukkan token CSRF dalam pengepala:

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

Contoh Kod Kemas Kini:

$('.company-selector li > a').click(function(e) {
     e.preventDefault();

     var companyId = $(this).data("company-id");

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

      $.ajax({
          url: '/fetch-company/' + companyId,
          dataType : 'json',
          type: 'POST',
          data: {},
          success:function(response) {
               console.log(response);
          }
     });
  });

Petua Tambahan

Rujuk Dokumentasi Laravel untuk maklumat lanjut tentang perlindungan CSRF: https://laravel.com/docs/5.5/csrf

Atas ialah kandungan terperinci Laravel 5.5 Ajax Ralat 419: Bagaimana untuk Membetulkan Isu Token CSRF?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn