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

كيفية إرسال بيانات JSON من JavaScript إلى PHP: ما هو الرأس المناسب لك؟

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

How to Send JSON Data from JavaScript to PHP: Which Header is Right for You?

كيفية إرسال بيانات JSON من JavaScript إلى PHP

عند تطوير تطبيقات الويب، قد تواجه الحاجة إلى إرسال بيانات JSON من JavaScript في المتصفح إلى خادم PHP. تستكشف هذه المقالة طريقتين لتحقيق ذلك:

الإصدار 1: استخدام رأس "application/json"

  1. تحويل كائن JavaScript إلى سلسلة JSON باستخدام JSON.stringify().
  2. قم بإنشاء طلب AJAX باستخدام XMLHttpRequest وقم بتعيين رأس نوع المحتوى على "application/json."
  3. أرسل سلسلة JSON إلى خادم PHP.
... // Code displaying result ...
... // Code to display response ...

الإصدار 2: استخدام "application/x-www-form-urlencoded" Header

  1. أنشئ سلسلة مشفرة بعنوان URL لكائن JSON الخاص بك باستخدام "json_string =" البادئة.
  2. اضبط رأس نوع المحتوى على "application/x-www" -form-urlencoded."
  3. يمكن لـPHP بعد ذلك ملء المصفوفة $_POST بكائن JSON الخاص بك.
... // Code displaying result ...
... // Code to display response ...

المأزق الذي يجب تجنبه

عند استخدام رأس "application/x-www-form-urlencoded"، لا يمكن لـ PHP الوصول مباشرة إلى سلسلة JSON من المصفوفة $_POST. بدلاً من ذلك، استخدم file_get_contents('php://input') للوصول إلى بيانات POST الأولية. على العكس من ذلك، عند استخدام رأس "application/json"، يجب الوصول إلى بيانات POST الأولية من php://input، وليس $_POST.

References

  • [كيفية الوصول إلى بيانات POST في PHP؟](كيفية الوصول إلى بيانات POST في PHP؟)
  • [تفاصيل حول التطبيق/json اكتب](http://www.ietf.org/rfc/rfc4627.txt)
أحدث البرنامج التعليمي أكثر>

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

Copyright© 2022 湘ICP备2022001581号-3