البرمجة

استخدام Fetch في JavaScript لإرسال طلب POST واستلام البيانات في PHP

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

أولاً وقبل كل شيء، يجب عليك التأكد من أنك تقوم بتحديد اسم المتغير الذي تريد استرجاعه بشكل صحيح. في الجزء الخاص بالـ JavaScript، قمت بإرسال قيمة uuid باستخدام المفتاح ‘uuid’، لذا يجب على PHP استرجاع هذه القيمة باستخدام $_POST[‘uuid’].

لكن هناك بعض التغييرات التي يجب عليك إجراؤها في الكود الخاص بك. يبدو أن هناك خطأ في كيفية تعريف متغير الطلب في الـ JavaScript. يُفضل استخدام متغيرات صحيحة في تعريف الطلب والتأكد من توفير رأس ‘Content-Type’ بقيمة ‘application/json’ للتأكيد على أن البيانات ترسل كـ JSON. هنا هو كود معدل:

javascript
function syncDeviceId(deviceID, mod){ var unique_id = // قم بتعريف unique_id هنا var request = new Request('url', { method: 'POST', body: JSON.stringify({ uuid: unique_id, }), headers: new Headers({ 'Content-Type': 'application/json' }), mode: 'cors' }); fetch(request).then(function(response) { return response.json(); // تحويل الرد إلى JSON }).then(function(data) { // يمكنك تنفيذ أي عمليات إضافية هنا بناءً على البيانات المستلمة }); }

ثم في الجزء الخاص بـ PHP، يمكنك استخدام الشيفرة التالية لاسترجاع القيم:

php
$inputJSON = file_get_contents('php://input'); $input = json_decode($inputJSON, TRUE); if(isset($input['uuid'])){ $post_uuid = $input['uuid']; // يمكنك استخدام $post_uuid كما تشاء هنا } else { // إدارة حالة عدم وجود القيمة بشكل صحيح } ?>

هذا يفترض أن تقوم الـ JavaScript بإرسال البيانات كـ JSON، والـ PHP يقوم بفك تشفيرها باستخدام json_decode والوصول إلى القيم بناءً على الاسم الذي قمت بتحديده في الـ JavaScript.

المزيد من المعلومات

بالتأكيد، دعونا نوسع على المعلومات المقدمة بخصوص كيفية تنفيذ طلب POST باستخدام JavaScript واسترجاع البيانات في PHP.

في الكود الخاص بـ JavaScript، تم استخدام دالة fetch لإجراء طلب POST إلى عنوان URL المحدد. يتم تحديد الجسم (Body) للطلب باستخدام JSON.stringify لتحويل كائن JavaScript إلى سلسلة JSON، ويرسل كـ JSON إلى الخادم. يتم تعريف رأس الطلب باستخدام خاصية headers للتأكيد على أن البيانات ترسل كـ JSON.

من جهة أخرى، في الجزء الخاص بـ PHP، يتم استخدام file_get_contents('php://input') لاسترجاع بيانات الطلب الواردة كسلسلة نصية، ثم يتم استخدام json_decode لتحويل السلسلة إلى كائن PHP. من ثم، يتم التحقق من وجود المفتاح ‘uuid’ في البيانات واستخدامه في PHP.

من الجدير بالذكر أنه يمكنك إضافة المزيد من التحققات والإجراءات الأمانية في الجزء الخاص بـ PHP، مثل التحقق من أن الطلب هو POST والتحقق من البيانات الواردة بشكل صحيح. يمكن أيضًا إضافة ميزات إضافية مثل إرسال رمز استجابة مخصص في الرد من الخادم لمزيد من التحكم وفهم حالة الطلب.

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

زر الذهاب إلى الأعلى