"إذا أراد العامل أن يؤدي عمله بشكل جيد، فعليه أولاً أن يشحذ أدواته." - كونفوشيوس، "مختارات كونفوشيوس. لو لينجونج"
الصفحة الأمامية > برمجة > لماذا يفشل التحقق من Django CSRF في طلب Ajax Post؟

لماذا يفشل التحقق من Django CSRF في طلب Ajax Post؟

نشر في 2025-04-16
تصفح:789

Why is My Django CSRF Check Failing with an Ajax POST Request?

من خلال اتباع التعليمات ، حاولت تنفيذ فحص CSRF مع نشر Ajax ولكن لا تزال تواجه رفضًا.

تخزينه في متغير يسمى csrftoken. يجب أن يكون هذا الرمز المميز موجودًا قبل تعيين الرأس: $. var csrftoken = getCookie ('csrftoken') ؛ XHR.SetRequestHeader ("X-csrftoken" ، csrftoken) ؛

تأكد من استخدام الرمز المميز:

الجسم:
  1. فحص جسم الاستجابة من Django لمعرفة ما إذا كان يذكر صراحة رمز CSRF مفقود أو غير صالح.

    يتبع:

    $. ajax ({ بيانات: { csrfmiddlewaretoken: '{{csrf_token}}' ، ... / / بيانات أخرى } ، }) ؛
    $.post("/memorize/", data, function (result) { ... });
    
    var csrftoken = getCookie('csrftoken');
    xhr.setRequestHeader("X-CSRFToken", csrftoken);
  2. تمكين تصحيح الأخطاء: قم بتشغيل وضع تصحيح CSRF الخاص بـ Django عن طريق إضافة Debug = صواب إلى الإعدادات. قد يوفر هذا رسائل خطأ إضافية أو تلميحات في جسم الاستجابة.
  3. بمجرد اكتمال هذه الخطوات ، أعد تقديم طلب AJAX لمعرفة ما إذا كان فحص CSRF يمر بنجاح.
أحدث البرنامج التعليمي أكثر>

تنصل: جميع الموارد المقدمة هي جزئيًا من الإنترنت. إذا كان هناك أي انتهاك لحقوق الطبع والنشر الخاصة بك أو الحقوق والمصالح الأخرى، فيرجى توضيح الأسباب التفصيلية وتقديم دليل على حقوق الطبع والنشر أو الحقوق والمصالح ثم إرسالها إلى البريد الإلكتروني: [email protected]. سوف نتعامل مع الأمر لك في أقرب وقت ممكن.

Copyright© 2022 湘ICP备2022001581号-3