سؤال

ما هو أفضل للتعامل مع ترقيم الصفحات?من جانب الملقم أو القيام بشكل حيوي باستخدام جافا سكريبت ؟

أنا أعمل على هذا المشروع الذي هو ثقيل على اياكس و سحب البيانات بشكل حيوي ، لذلك أنا أعمل على جافا سكريبت ترقيم الصفحات نظام يستخدم دوم ولكن أنا بدأت أعتقد أنه سيكون من الأفضل التعامل مع كل جانب الخادم.

ما هي الجميع الأفكار ؟

هل كانت مفيدة؟

المحلول

الجواب الصحيح يعتمد على الأولويات الخاصة بك و حجم مجموعة البيانات إلى أن مرقم صفحات.

من جانب الخادم ترقيم الصفحات هو أفضل:

  • مجموعة كبيرة من البيانات
  • أسرع في تحميل الصفحة الأولية
  • الوصول لأولئك الذين لا تشغيل جافا سكريبت

العميل ترقيم الصفحات هو أفضل:

  • الصغيرة مجموعة البيانات
  • أسرع في تحميل الصفحة اللاحقة

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

بالطبع ، من جانب العميل ميزة على الصفحة اللاحقة مرات الحمل يقلل إذا كنت تستخدم Ajax لتحميل الصفحات التالية.

نصائح أخرى

ويفعلون ذلك على العميل سيجعل المستخدم الخاص بك تحميل جميع البيانات في البداية قد لا تكون هناك حاجة، وسيزيل الفائدة الأساسية من ترقيم الصفحات.

وأفضل طريقة للقيام بذلك لمثل هذا النوع من التطبيقات AJAX هو جعل AJAX استدعاء الخادم للصفحة التالية وإضافة تحديث الصفحة الحالية باستخدام النصي جانب العميل.

إذا كان لديك صفحات كبيرة وعدد كبير من الصفحات كنت أفضل من طلب الصفحات في قطع من الخادم عن طريق AJAX. لذلك دعونا خادم تفعل ترقيم الصفحات، استنادا لURL طلبك.

ويمكنك أيضا قبل جلب الصفحات القليلة القادمة سوف المستخدم المرجح عرض لجعل واجهة تبدو أكثر استجابة.

إذا لا يوجد سوى بضع صفحات، والاستيلاء على كل شيء مقدما وترقيم صفحات على العميل قد يكون خيارا أفضل.

وحتى مع بيانات صغير أحجام سيكون الخيار الأفضل أن يكون ترقيم الصفحات جانب الملقم. سوف لا يكون لديك ما يدعو للقلق في وقت لاحق إذا تطبيق الويب الخاص بك جداول أخرى.

وللبيانات أكبر أحجام الإجابة واضحة.

جانب الخادم - يرسل إلى العميل فقط ما يكفي من المحتوى لطريقة العرض الحالية

في عالم العملي لحدود، وأود أن الصفحة على الخادم الجانب للحفاظ على جميع الموارد المرتبطة إرسال البيانات. أيضا، يحتاج الملقم لحماية نفسها من / العميل خلل الخبيثة يسأل عن الصفحة دسمة.

وبمجرد أن الكود هو الأزيز بسعادة جنبا إلى جنب، وأود أن أضيف "الذكاء" إلى العميل للحصول على "التالي" و "السابق" الصفحة ونرى أن في الذاكرة. عندما صفحات المستخدم إلى الصفحة التالية، قم بتحديث ذاكرة التخزين المؤقت.

إذا برنامج العميل يفعل هذا النوع من صفحة التخزين المؤقت، لا تنظر في كيفية الأعمار البيانات الخاصة بك بسرعة (من المرجح أن تغيير)، وإذا كان يجب أن تحقق تلك الصفحة مؤقتا من البيانات الخاصة بك لا تزال صالحة. ربما إعادة طلب-لو أنها الأعمار أكثر من 2 دقيقة. ربما يكون العلم "القذرة" في ذلك. شئ مثل هذا. أتمنى أن تجده مفيد. :)

هل يعني ذلك أن جافا سكريبت لديها كافة البيانات الموجودة في الذاكرة، ويظهر صفحة واحدة وقت واحد؟ أو أنه يقوم بتحميل كل صفحة من الخادم كما هو مطلوب، وذلك باستخدام AJAX؟

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

وأنا أفضل ترقيم الصفحات جانب الملقم. ومع ذلك، عند تنفيذ ذلك، كنت بحاجة للتأكد من أنك تحسين SQL بشكل صحيح. على سبيل المثال، وأعتقد في الخلية، إذا كنت تستخدم الخيار LIMIT أنه لا يستخدم مؤشر لذلك تحتاج إلى إعادة كتابة مزود لاستخدام الفهرس بشكل صحيح.

وG-مان

وشيء آخر أن أشير هنا إلى أن سوف تكون محدودة في حالات نادرة جدا لترحيل ببساطة من خلال مجموعة بيانات الخام.

وقد تضطر إلى البحث عن بعض المصطلحات في واحد أو أكثر من الأعمدة التي يتم عرض، ثم يقول النوع على عدد قليل من الأعمدة ومن ثم إعطاء المستخدمين القدرة على الصفحة من خلال هذه البينات التي تمت تصفيتها.

في مثل هذا الوضع قد يكون لديك لمعرفة ما إذا كان من الأفضل أن يكون هذا البحث المنطق و / أو فرز العميل أو الخادم.

وشيء آخر للنظر هو أن سحابة بحث المعهد الأمازون يمنحك بعض قوية جدا البحث قدراتهم، ومن الواضح أنك سوف ترغب في السماح البحث سحابة للتعامل مع البحث والفرز بالنسبة لك إذا كنت يحدث لديها البيانات الخاصة بك استضافت هناك.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top