Zerious San نشر 18 نوفمبر 2025 أرسل تقرير نشر 18 نوفمبر 2025 كيف اجعل fetch ياخذ عدد محدد من البيانات بدون controller؟ ام احتاج ابرمج هذا في controller ؟ لتجنب جلب كل البيانات، ةالتأثير على الأداء بشكل كبير، وأيضًا استهلاك الموارد بدون داعٍ. 1 اقتباس
0 Mustafa Suleiman نشر 19 نوفمبر 2025 أرسل تقرير نشر 19 نوفمبر 2025 fetch ليس الغرض منها تحديد كمية البيانات، فالمتحكم هو المسؤول الأول والأساسي عن تلك العملية، حيث أن fetch هي مجرد وسيلة نقل للطلب من المتصفح إلى الخادم، ولا تملك أي صلاحية للوصول المباشر إلى قاعدة البيانات أو التحكم في كيفية استرجاع البيانات منها. يتوجب عليك كتابة المنطق الخاص بتقسيم البيانات داخل المتحكم في الواجهة الخلفية، لأنّ عملية جلب البيانات تعتمد على استعلامات SQL أو NoSQL التي يتم تنفيذها على الخادم، فالمتصفح يرسل فقط الرغبة في الحصول على عدد معين عبر Query Parameters، ويجب على الخادم أن يفهم تلك الرغبة وينفذها. بمعنى تبدأ العملية عندما تقوم بإرسال الطلب عبر fetch بتمرير المعايير مثل ?limit=10 ضمن الرابط، والتي يستقبلها المتحكم ويقوم بقراءة تلك القيم ومعالجتها، ثم دمجها داخل استعلام قاعدة البيانات باستخدام أوامر مثل LIMIT و OFFSET، وبالتالي يتم استخراج العشرة صفوف المطلوبة فقط من القرص الصلب للخادم وإرسالها عبر الشبكة. وفي حال لا يوجد ذاك المنطق في الخلفية، فسيقوم الخادم بتجاهل تلك المعاملات المرسلة في الرابط، وسيعيد كامل محتوى الجدول في قاعدة البيانات، بالتالي fetch ستقوم بتحميل حجم بيانات ضخم، ويتدهور الأداء حتى لو قمت بعرض جزء صغير منها لاحقاً بواسطة جافاسكريبت، فالهدف الأساسي هو تقليل البيانات المنقولة عبر الشبكة وليس فقط تقليل المعروض على الشاشة. اقتباس
0 عبدالباسط ابراهيم نشر 17 فبراير أرسل تقرير نشر 17 فبراير أولاً إذا حاولت معالجة الأمر من خلال الـ Frontend فقط ، فإنك لم تحل المشكلة الأساسية، لأن الخادم سيظل يقرأ كل البيانات من قاعدة البيانات ويرسلها عبر الشبكة، مما يستهلك الذاكرة ويؤثر على الأداء. والاعتماد على دالة fetch في واجهة المستخدم (Frontend) غير كاف فهي مجرد أداة لإرسال الطلبات؛ لا يمكنها إجبار قاعدة البيانات على إرجاع عدد محدد من السجلات من تلقاء نفسها. ولذلك تحتاج لجعل الـ Controller قادراً على استقبال معامل (Parameter) يحدد عدد البيانات المطلوبة، ثم يستخدم هذا الرقم لفلترة البيانات مباشرة من قاعدة البيانات. اقتباس
السؤال
Zerious San
كيف اجعل fetch ياخذ عدد محدد من البيانات بدون controller؟ ام احتاج ابرمج هذا في controller ؟ لتجنب جلب كل البيانات، ةالتأثير على الأداء بشكل كبير، وأيضًا استهلاك الموارد بدون داعٍ.
2 أجوبة على هذا السؤال
Recommended Posts
انضم إلى النقاش
يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.