بعد القذف لفترة طويلة ، استخدمت طريقة تحميل jQuery لطلب الطلب في البرنامج. هناك Baidu ، يدري أن الحمل مطلوب في Get ، لذلك IE متصفح
انها محزنة عن مؤقت. لقد بحثت عن الكثير من الحلول والكثير على الإنترنت. وهي مقسمة بشكل أساسي إلى حلول العميل وحلول الخادم.
1. حل العميل
أي استراتيجية الوصول: خيار الإنترنت تصفح السجلات التاريخية-خيار الملفات المؤقتة للإنترنت
1: إضافة وظيفة عشوائية بعد الصفحة التي طلبها AJAX ، يمكننا استخدام وظيفة الوقت العشوائي
أضف t = math.random () بعد عنوان URL الذي أرسله JavaScript
على سبيل المثال: url+"&"+"t ="+math.random () ؛
2: إضافة xmlhttprequest.setRequestHeader ("if-modify-since" ، "0")
في ظل الظروف العادية ، لن يتم استخدام XMLHTTPrequest هنا مباشرة
يجب أن تكون قادرًا على العثور على هذا الرمز
xxxxx.send (yyyyyy) ؛
ثم حوله إلى
xxxxx.setRequestHeader ("if-modify-since" ، "0") ؛
xxxxx.send (yyyyyy) ؛
لقد أثبتت الممارسة أن كلتا الطريقتين فعالة للغاية.
1. إضافة رأس ("Cache-Control: NO CACH ، يجب إعادة تقييم") على الخادم
2. إضافة xmlhttprequest.setRequestHeader ("if-modified-since" ، "0") ؛
3. إضافة XMLHTTPREQUEST.SetRequestHeader ("Cache-Control" ، "No-Cache") ؛
4. إضافة "؟
5. الطريقة الرابعة تشبه الأسلوب الثالث.
6. استخدم Post Reply Get: غير موصى به
2. حل الخادم الجانبي:
خذ Struts2 كمثال:
طريقة STRUTS2 Server -Side
رمز XML
نسخ رمز رمز على النحو التالي:
<package name = "json-nocache" تمتد = "json-default">
<wterceptors>
<interceptor name = "CachingHeadersInterceptor" />
<interceptor-stack name = "DefaultSecurityStack">
<interceptor-ref name = "DefaultStack" />
<interceptor-ref name = "CachingHeadersInterceptor" />
</Internetor-Stack>
</interceptors>
<name default-interceptor-ref = "DefaultSecurityStack" /> />
</cream>
كود جافا
نسخ رمز رمز على النحو التالي:
يمتد CACHINGHEDERINTOPTOR من الطبقة العامة الملخص {
خاص ثابت نهائي طويل المسبانيويد = 1L ؛
اعتراض السلسلة العامة
context ActionContext = invocation.getInvoconText () ؛
httpservletresponse استجابة = (httpservletresponse) context.get (StrutsStatics.http_response) ؛
إذا (الرد! = فارغ) {
استجابة.
استجابة.
استجابة.
}
إرجاع invocation.invoke () ؛
}
}