تتيح وظيفة التخزين المحلي التي يوفرها HTML5 لتطبيقات الويب تخزين البيانات في المتصفح المحلي للمستخدم. في HTML5، لا يتم تمرير البيانات من خلال كل طلب خادم، ولكن يتم استخدام البيانات فقط عند الطلب. يجعل من الممكن تخزين كميات كبيرة من البيانات دون التأثير على أداء موقع الويب.
هناك طريقتان للتخزين على جانب العميل:
1. التخزين المحلي: تخزين بدون حد زمني وسعة كبيرة، لا يقل حجمها عن 5 ميجا بايت؛ يمكن لجميع الصفحات التي لها نفس اسم المجال تخزين نفس البيانات والحصول عليها.
2. تخزين الجلسة: لتخزين بيانات الجلسة، ستختفي علامة التبويب عند إغلاقها.
في الوقت الحالي، تدعم معظم المتصفحات HTML5 بشكل جيد جدًا، ولكن من أجل الأمان، يجب اكتشاف العميل قبل الاستخدام:
if (typeof(Storage) !== unified) { // Code for localStorage/sessionStorage.} else { // آسف! لا يوجد دعم للتخزين على الويب..}
سبب استخدامي لهذه الوظيفة هو أنني أعمل حاليًا على موقع ويب قائم على البيانات وأحتاج إلى تمرير معلمات الاستعلام إلى الواجهة الخلفية من خلال واجهة API والحصول على البيانات التي يتم إرجاعها من قاعدة البيانات. هناك مشكلة هنا، أريد الانتقال من الصفحة أ إلى الصفحة ب، ثم استدعاء واجهة API في الصفحة ب لتمرير بيانات المعلمة إلى الخلفية والحصول على بيانات المعلمة في الصفحة أ هل أقوم بنقل الصفحة "أ" إلى الصفحة "أ"؟ ماذا عن تمرير القيمة التي تم إنشاؤها إلى الصفحة "ب"؟
افترض أن تنسيق القيمة والبيانات الذي نريد تمريره إلى الخلفية هو: {unitGroup:[一年级,二年级,三年级];
ثم بعد أن تنشئ الصفحة a وحدة البيانات التي نحتاجها، استخدم sessionStorage:
if (typeof(Storage)!== undef) { sessionStorage[unitGroup] = data.unit.value;} else { sessionStorage[unitGroup] = '';}
ثم في الصفحة ب، يمكنك الحصول عليها من خلال العبارة التالية:
var Unit_group = '';if (typeof(Storage) !== undefense) { var myunits = sessionStorage[unitGroup];
ثم يمكنك الاتصال بـ ajax لتمرير البيانات إلى الخلفية:
var newData = {unitGroup:unit_group};
ما ورد أعلاه هو المحتوى الكامل لهذه المقالة وآمل أن يكون مفيدًا لدراسة الجميع وآمل أيضًا أن يدعم الجميع شبكة VeVb Wulin.