GORAGOD.com

freelance, web developer, web designer, hosting, domain name

ปัญหาการแสดงผล Ajax ให้รีเฟส ทั้ง เพจ ช่วยแนะนำด้วยครับ

ผมจได้ทำการ ล้างตัวแปร ค่าคุ๊กกี้ในเพจและ จะให้มันรีเฟส ทั้งหน้า เพื่อ ที่จะ ค่าตัวแปรคุ๊กกี้ หายไป



เท่าที่ผมลอง ดู




echo "<script language='javascript' type='text/javascript' >


window.location='chat_buddy.php';</script>";




โค๊ดนี้ เหมือนจะไม่ รีเฟส เลย ทั้ง FF IE และ โครม  





echo "<meta http-equiv=\"refresh\" content=\"0;URL=login.php\">"; 




ส่วน โค๊ด นี้ รีเฟส แต่ โครม ส่วน FF และ IE ไม่มีผลเลย



พอจะมีวิธีแนะนำ ไหมครับ เพราะถ้าค่าตัวแปรไม่หายจะ เกิด บัค ทำให้ user  สามารถส่งข้อความหาเพื่อน ที่ลบไปแล้วได้อ้ะครับ

23 ส.ค. 2555 5 3,059

ใช้ window.location.reload(); ครับ



หรือ window.location = 'xxx.php?' + date.getTime();
#1


ลองแล้วครับ ไม่เปลี่ยนหน้าเหมือนกัน



echo "<script language='javascript' type='text/javascript' >


window.location = 'chat_buddy.php?' + date.getTime();</script>";

ไม่มีอะไรเกิดขึ้น



echo "<script language='javascript' type='text/javascript' >

window.location.reload();</script>";

ไม่มีอะไรเกิดขึ้น เช่นกัน

#2

เข้าใจว่า น่าจะใช้ผิดที่...



ถ้าได้อ่านบทความผม จะต้องได้อ่านว่า "Javascript ไม่สามารถใช้งานในหน้าที่ Ajax โหลดได้" ลองหาอ่านดูนะครับ



ความหมายของมันก็คือ ไม่สามารถเขียนใส่ใน PHP ได้ (echo ต้องไม่มี)



ที่ที่จะใส่ได้มีที่เดียวคือ ที่ Javascript ครับ เช่น เมื่อรับค่ากลับมาแล้ว ให้ refresh ทันที
#3

อ่าครับ อาจารย์เริ่มเข้าใจแล้ว ครับ ผม ใช้ 



Ajax.PeriodicalUpdater  แล้ว จะส่ง ค่า php กลับ มา เช่น ในไฟลื php ที่ส่งค่าไปนั้น กำหนดตัวแปร ส่งกลับมา 



ว่า $count = 0  แล้ว ในสคริป java  Ajax.PeriodicalUpdater  รับรับค่า $count = 0 ยังไงอ่ะครับ 



แบบว่า รับ ค่า count = 0 แล้ว ก็เขียน IF ที่ได้ใต้คำสั่ง 
Ajax.PeriodicalUpdater ให้ มันรีดเฟสทั้งหน้าเลย อ่ะครับ
#4

อันนี้ก็ไม่แน่ใจนะ ถ้าเป็น Frame Work อื่นผมไม่ค่อยถนัด



จริงๆแล้วคำสั่งพื้นฐานน่าจะมีเช่น responseText ก็อาจตรวจสอบจากค่านี้ได้ หรือ อาจดูจากสิ่งที่ script มีให้เช่น การรับค่ากลับเป็น XML หรือ JSON ก็ได้



ยกตัวอย่างเช่น ใน คำสั่งพื้นฐานของ Ajax นะครับ...



ที่ PHP หากทำงานสำเร็จ อาจหมายถึง login สำเร็จก็ให้คืนค่า 1 กลับมา ถ้าไม่สำเร็จก็คืนค่า 0

หลังจากรับค่าด้วย Ajax ที่ responseText ก็ตรวจสอบว่า ค่าที่ส่งกลับมา เท่ากับ 1 หรือไม่ ถ้าใช่ ก็ reload ซึ่งขั้นตอนส่วนนี้ กระทำบน Javascript เท่านั้น



อ่านบทความประกอบนะครับ
#5
ความคิดเห็น
ไฟล์อัปโหลด ชนิด jpg, jpeg ขนาดไฟล์ไม่เกิน 2M
^