سؤال
في الآونة الأخيرة ، استخدمت Easyui لتطوير نظام خلفية. لقد وجدت مشكلة غريبة أثناء الاختبار. $ ('dg'). datagrid ('Reload') ؛ عند إعادة تحميل بيانات الجدول ، لم يكن لدي أي رد فعل على الإطلاق. في وقت لاحق اكتشفت أنه لم يكن هناك أي استجابة ، لكن المتصفح استخدم ذاكرة التخزين المؤقت.
حل
هناك العديد من الحلول التي يلخصها مستخدمو الإنترنت عبر الإنترنت:
1. إضافة طابع زمني بعد عنوان URL ، بحيث يكون عنوان URL الذي تم الوصول إليه في الحمل الأول وإعادة التحميل غير متسق ، مما يجعل النظام غير قادر على استخدام ذاكرة التخزين المؤقت IE. من خلال الاختبار ، وجد أن طلب EasyUI يحتوي بالفعل على سلسلة من الأرقام العشوائية _145232xxx بعد طلبه ، ولكن لا يزال يستخدم ذاكرة التخزين المؤقت. في وقت لاحق ، أضفت Rand = xxx (رقم عشوائي تم إنشاؤه بواسطة Math.Rand ()) إلى JS المطلوبة ولن يستخدم ذاكرة التخزين المؤقت. (لقد اختبرت من IE8 إلى IE11)
2. استخدم طريقة مماثلة لإضافة <TECA> إلى <head> لمسح ذاكرة التخزين المؤقت:
نسخة الكود كما يلي:
<meta http-equiv = "pragma" content = "no-cache">
<meta http-equiv = "cache-control" content = "no-cache ، يجب إعادة تقييمه">
<meta http-equiv = "Expires" content = "Wed ، 26 February 1997 08:21:57 GMT">
لسوء الحظ ، مثل العديد من مستخدمي الإنترنت ، فشلت في هذه الطريقة. :(
3. أعلن الطريقة المقابلة لتحميل بيانات البيانات على أنها "منشور" ، هذا الحل هو الأسرع. ولكن هناك العديد من المشاكل:
• إذا كانت واجهة الخادم لا تدعم وضع النشر ، فسيتم إيقافه.
• إذا تمكنت واجهة الخادم من التحكم فيها بنفسها ، فإن طريقة التسوية لهذه الواجهة الأمامية ستؤدي إلى عدم راحة الواجهة على الإطلاق! يجب أن تعلم أن الواجهة المريحة تحصل بشكل أساسي على تصميم الاستعلام.
لخص
لذلك هي الطريقة الأولى. إضافة أرقام عشوائية بنفسك في عنوان URL سهل الاستخدام. سامحني لكوني مهووسًا بالرمز الذي لا أريد تغيير واجهة الخادم _ (: з」 ∠) _.