คุณเคยพบสิ่งนี้เมื่อใช้ XMLHttpRequest หรือไม่ ครั้งแรกที่คุณใช้มันทำงานได้ดี แต่หลังจากรีเฟรช มันไม่ทำงาน หลังจากล้างแคชและรีเฟรชแล้ว มันก็ทำงานได้อีกครั้ง
นี่เป็นปัญหาที่มักพบเมื่อใช้ XMLHttpRequest บางครั้งผลลัพธ์ของคำขอ XMLHttpRequest จะถูกแคชไว้ใน URL เดียวกัน หากการตอบสนองหลังจากคำขอของคุณแตกต่างออกไป ปัญหาบางอย่างที่อธิบายไม่ได้จะเกิดขึ้นรวมถึงจุดเริ่มต้นของบทความด้วย
สารละลาย:
เป็นเรื่องง่ายเมื่อคุณทราบหลักการ นั่นคือ URL ที่ร้องขอจะแตกต่างกันในแต่ละครั้ง ดังนั้นจึงส่งคำขอไปยังเซิร์ฟเวอร์ทุกครั้งแทนที่จะใช้แคช ต่อไปนี้เป็นสองวิธีที่ใช้กันทั่วไป:
วิธีแรกคือการเพิ่มการประทับเวลา
var url = BaseURL + "&timeStamp=" + วันที่ใหม่().getTime();
วิธีที่สองคือการบวกตัวเลขสุ่ม
var url = BaseURL + "&r=" + Math.random();
อาจมีวิธีการอื่นอีกมากมาย ตราบใดที่คุณสามารถมั่นใจได้ว่ามันจะไปที่เซิร์ฟเวอร์เพื่อร้องขอทุกครั้ง มันก็จะโอเค