"إذا أراد العامل أن يؤدي عمله بشكل جيد، فعليه أولاً أن يشحذ أدواته." - كونفوشيوس، "مختارات كونفوشيوس. لو لينجونج"
الصفحة الأمامية > برمجة > لماذا لا يمكن الوصول إلى بيانات Axios POST في $_POST؟

لماذا لا يمكن الوصول إلى بيانات Axios POST في $_POST؟

تم النشر بتاريخ 2024-11-08
تصفح:568

Why is Axios POST Data not Accessible in $_POST?

لم يتم قراءة معلمات نشر Axios بواسطة $_POST

أنت تقوم بنشر البيانات إلى نقطة نهاية PHP باستخدام Axios وتتوقع الوصول إليها بالدولار _POST أو $_REQUEST. ومع ذلك، لا يمكنك حاليًا اكتشافه.

في الأصل، استخدمت طريقة axios.post الافتراضية، ولكنك قمت بالتبديل إلى مقتطف التعليمات البرمجية المقدم بسبب مشكلة رأسية مشتبه بها. على الرغم من هذا التغيير، تظل البيانات غير قابلة للاكتشاف.

بعد مزيد من التحقيق، أدركت أن Axios ينشر البيانات ككائن JSON، والذي يمكن الوصول إليه من خلال file_get_contents("php://input"). هدفك هو إرسال البيانات كسلسلة عادية بدلاً من ذلك.

الحل:

وفقًا لوثائق Axios، السلوك الافتراضي هو إجراء تسلسل لكائنات JavaScript إلى JSON للنشر. . ومع ذلك، PHP لا يدعم JSON كتنسيق بيانات لملء $_POST. وهو يدعم فقط التنسيقات المدعومة أصلاً بواسطة نماذج HTML:

    application/x-www-form-urlencoded
  • multipart/form-data
  • إلى لإرسال البيانات بالتنسيق المطلوب، لديك عدة خيارات:

استخدام URLSearchParams API (في المتصفح)
  • استخدام مكتبة qs لتشفير البيانات
  • بدلاً من ذلك، يمكنك تخصيص تكوين PHP الخاص بك للتعامل مع بيانات JSON كما هو مقترح في سؤال آخر ذي صلة.
بيان الافراج أعيد طبع هذه المقالة على: 1729607537 إذا كان هناك أي انتهاك، يرجى الاتصال بـ [email protected] لحذفه
أحدث البرنامج التعليمي أكثر>

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

Copyright© 2022 湘ICP备2022001581号-3