شرح صفوف ومحتوى الفقرة
عند إرسال طلبات غير متزامنة عبر Fetch API بدلاً من نماذج HTML، يمكنك وضع قيمة csrf_token داخل وسم meta في رأس القالب وإرسالها ضمن رأس الطلب X-CSRF-TOKEN. كما تقوم مكتبة Axios تلقائياً بقراءة كوكي XSRF-TOKEN وإرساله في رأس X-XSRF-TOKEN دون إعداد يدوي.
- تخزين الرمز في وسم meta (csrf-token Meta): يوضع في رأس التخطيط الرئيسي لتسهيل قراءته من كود JavaScript.
- رأس الطلب (X-CSRF-TOKEN): تقبل برمجية التحقق في Laravel الرمز السري الممرر في هذا الرأس تماماً كالحقل المخفي.
- التكامل التلقائي مع Axios (X-XSRF-TOKEN): يرسل Laravel كوكي خاصاً تقرأه مكتبة Axios وترفقه مع كل طلب تلقائياً.
PHP
<meta name="csrf-token" content="{{ csrf_token() }}">
<script>
const token = document.head.dataset.csrfToken;
fetch('/cart/items', {
method: 'POST',
headers: { 'X-CSRF-TOKEN': token }
});
</script>