วิธีแก้ไขข้อความ “ยืนยันการส่งแบบฟอร์มซ้ำ” เมื่อรีเฟรชหน้าเว็บ

โดยปกติแล้วข้อความ “ยืนยันการส่งแบบฟอร์มอีกครั้ง” ไม่ใช่ความผิดพลาดของเบราว์เซอร์ แต่จะปรากฏขึ้นเมื่อคุณพยายามโหลดหน้าเว็บซ้ำอีกครั้งหลังจากที่ส่งข้อมูลด้วยคำขอ HTTP POST การส่งคำขอซ้ำอาจทำให้เกิดการทำงานซ้ำเช่นกัน ดังนั้นเบราว์เซอร์จึงถามก่อนที่จะส่งแบบฟอร์มอีกครั้ง ซึ่งสำคัญสำหรับแบบฟอร์มติดต่อ ความคิดเห็น การซื้อ การชำระเงิน การเปลี่ยนแปลงบัญชี และการกระทำอื่น ๆ ที่ไม่ควรทำงานซ้ำสองครั้งโดยไม่ตั้งใจ

เบราว์เซอร์แสดงคำเตือน "ยืนยันการส่งแบบฟอร์มอีกครั้ง" หลังจากรีเฟรชแบบฟอร์มติดต่อที่ส่งไปแล้ว

หากคุณเป็นผู้เยี่ยมชม วิธีแก้ไขที่ปลอดภัยที่สุดโดยปกติคือหลีกเลี่ยงการรีเฟรชหน้าผลลัพธ์ ตรวจสอบว่าการส่งข้อมูลสำเร็จแล้วหรือไม่ และกลับไปยังแบบฟอร์มเดิมผ่านทางเว็บไซต์แทนที่จะบังคับให้โหลดหน้าเว็บใหม่ หากคุณเป็นเจ้าของเว็บไซต์ วิธีแก้ไขที่ยั่งยืนคือการเปลี่ยนเส้นทางคำขอ POST ที่สำเร็จไปยังหน้า GET ปกติ

อะไรคือสาเหตุที่ทำให้ต้องยืนยันการส่งแบบฟอร์มซ้ำ?

แบบฟอร์ม HTML แบบดั้งเดิมสามารถส่งข้อมูลได้ด้วยเมธอด GET หรือ POST เมธอด POST จะส่งข้อมูลที่ส่งมาในส่วนเนื้อหาของคำขอ และมักใช้เมื่อคำขอเป็นการสร้างหรือเปลี่ยนแปลงบางสิ่งบางอย่าง หากเซิร์ฟเวอร์ตอบกลับเมธอด POST นั้นโดยตรงด้วยหน้าที่คุณกำลังดูอยู่ การรีเฟรชหน้าเว็บหมายถึงการส่งเมธอด POST เดิมซ้ำอีกครั้ง ดังนั้นเบราว์เซอร์จึงแจ้งเตือนคุณก่อนที่จะส่งซ้ำ

นี่แตกต่างจากข้อผิดพลาดการเชื่อมต่อทั่วไป คำเตือนนี้อาจปรากฏขึ้นแม้ว่าการส่งข้อมูลครั้งแรกจะสำเร็จลุล่วงไปด้วยดีก็ตาม ก่อนที่คุณจะส่งคำสั่งซื้อ การชำระเงิน การจอง ความคิดเห็น หรือคำขอความช่วยเหลืออีกครั้ง โปรดตรวจสอบหน้ายืนยัน ใบเสร็จรับเงินทางอีเมล ประวัติบัญชี หรือสัญญาณอื่นๆ ที่แสดงว่าคำขอแรกเสร็จสมบูรณ์แล้ว

วิธีแก้ไขปัญหานี้ในฐานะผู้เยี่ยมชมเว็บไซต์

1. ยกเลิกการโหลดซ้ำและเปิดแบบฟอร์มอีกครั้ง

หากมีข้อความเตือนปรากฏขึ้นทันทีหลังจากกดปุ่มรีเฟรช ให้เลือกยกเลิกแทนที่จะดำเนินการต่อโดยอัตโนมัติ เปิดเว็บไซต์จากเมนู หน้าแรก บุ๊กมาร์ก หรือแท็บใหม่ แล้วกลับไปยังแบบฟอร์ม วิธีนี้จะช่วยหลีกเลี่ยงการส่งคำขอ POST ซ้ำโดยเจตนา

สำหรับข้อความหรือแอปพลิเคชันที่ยาว ให้คัดลอกข้อความที่คุณยังคงพิมพ์อยู่ก่อนที่จะออกจากเว็บไซต์ เนื่องจากเว็บไซต์อาจไม่แสดงข้อความที่คุณพิมพ์ไว้หลังจากเซสชันเปลี่ยนไป

แบบฟอร์มติดต่อพร้อมข้อความเตือนให้คัดลอกข้อความสำคัญก่อนส่งใหม่

2. ตรวจสอบว่าการส่งข้อมูลครั้งแรกสำเร็จแล้วหรือไม่

ทำเช่นนี้ก่อนที่จะป้อนข้อมูลเดิมซ้ำอีกครั้ง การส่งข้อมูลซ้ำสองครั้งอาจสร้างความคิดเห็น ตั๋ว การจอง หรือการเรียกเก็บเงินซ้ำซ้อน หากเว็บไซต์ไม่มีระบบป้องกันการซ้ำซ้อน หากคุณไม่แน่ใจว่าธุรกรรมที่มีมูลค่าสูงสำเร็จหรือไม่ ให้ใช้ประวัติการสั่งซื้อของเว็บไซต์หรือติดต่อทีมสนับสนุนแทนการคลิกปุ่มส่งซ้ำๆ

3. ล้างข้อมูลเว็บไซต์เฉพาะในกรณีที่แบบฟอร์มค้างอยู่จริงๆ เท่านั้น

คุกกี้และไฟล์แคชที่เสียหายหรือล้าสมัยอาจทำให้บางเว็บไซต์วนลูป สูญเสียเซสชัน หรือโหลดหน้าเว็บเก่า การล้างข้อมูลอาจช่วยได้ในกรณีเหล่านั้น แต่ไม่จำเป็นต้องทำเพียงเพราะคุณรีเฟรชผลลัพธ์ POST แล้ว

ในเบราว์เซอร์ Chrome บนคอมพิวเตอร์ ให้เปิดเมนูจุดสามจุดแล้วเลือก"ลบข้อมูลการท่องเว็บ " Google ได้อธิบายตัวเลือกต่างๆ ในปัจจุบัน รวมถึงคุกกี้/ข้อมูลเว็บไซต์ และรูปภาพ/ไฟล์ที่แคชไว้ ในคู่มือข้อมูลการท่องเว็บของ Chromeการลบคุกกี้อาจทำให้คุณออกจากระบบเว็บไซต์ ดังนั้นให้เลือกขอบเขตที่แคบที่สุดที่ช่วยแก้ปัญหาได้

หน้าต่างลบข้อมูลการท่องเว็บของ Chrome โดยที่คุกกี้และไฟล์แคชถูกเลือกไว้

ใน Firefox คุณสามารถล้างข้อมูลสำหรับเว็บไซต์ปัจจุบันได้จากไอคอนทางด้านซ้ายของแถบที่อยู่ จากนั้นเลือกล้างคุกกี้และข้อมูลเว็บไซต์คำแนะนำเกี่ยวกับข้อมูลเว็บไซต์ของ Mozilla สำหรับ Firefox ยังอธิบายวิธีการลบข้อมูลสำหรับเว็บไซต์เฉพาะหรือทุกเว็บไซต์อีกด้วย

4. หากเกิดปัญหาขึ้นโดยไม่คาดคิด ให้ปิดใช้งานส่วนขยายชั่วคราว

หากแบบฟอร์มกรอกไม่สำเร็จซ้ำๆ โดยที่คุณไม่ได้รีเฟรชหน้าเว็บ ให้ลองตรวจสอบส่วนขยายที่เปลี่ยนแปลงหน้าเว็บหรือการรับส่งข้อมูลเครือข่าย เช่น ตัวบล็อกเนื้อหา เครื่องมือความเป็นส่วนตัว ตัวจัดการสคริปต์ ส่วนขยาย VPN/พร็อกซี หรือตัวช่วยกรอกแบบฟอร์ม ใน Chrome ให้ไปที่เพิ่มเติม > ส่วนขยาย > จัดการส่วนขยายและปิดใช้งานส่วนขยายที่น่าสงสัยชั่วคราวคู่มือการจัดการส่วนขยาย ของ Google จะอธิบายการควบคุมในปัจจุบัน

หน้าส่วนขยาย Chrome ที่มีส่วนขยายหลายตัวถูกปิดใช้งานชั่วคราว

ใน Firefox ให้เปิดเมนู > ส่วนเสริมและธีม > ส่วนขยายแล้วปิดส่วนขยายทีละตัว Mozilla ยังมีขั้นตอนอย่างเป็นทางการสำหรับการปิดใช้งานส่วนเสริมของ Firefox ด้วย จากนั้น เปิดใช้งานส่วนเสริมที่ไม่เกี่ยวข้องกับปัญหาอีกครั้ง

หากคำเตือนปรากฏเฉพาะบนเว็บไซต์เดียวเท่านั้น

หากเว็บไซต์อื่นๆ ทำงานได้ตามปกติ และคำเตือนนี้ปรากฏขึ้นซ้ำๆ หลังจากการส่งแบบฟอร์มใดแบบฟอร์มหนึ่ง แสดงว่าขั้นตอนการทำงานของแบบฟอร์มบนเว็บไซต์นั้นน่าจะเป็นปัญหาหลัก การเปลี่ยนเบราว์เซอร์อาจช่วยซ่อนอาการในบางกรณี แต่ไม่ได้แก้ไขประวัติการส่งข้อมูล (POST history) ที่อยู่เบื้องหลัง หลีกเลี่ยงการส่งแบบฟอร์มซ้ำๆ และรายงานปัญหาไปยังเจ้าของเว็บไซต์หากจำเป็น

เจ้าของเว็บไซต์: ใช้ POST/Redirect/GET

วิธีมาตรฐานในการป้องกันไม่ให้การส่งแบบฟอร์มสำเร็จกลายเป็นหน้า POST ปัจจุบันของเบราว์เซอร์ คือ รูปแบบ POST/Redirect/GETประมวลผล POST บนเซิร์ฟเวอร์ จากนั้นส่งการเปลี่ยนเส้นทางไปยัง URL ยืนยันแยกต่างหาก การตอบสนอง 303 See Otherจะบอกเบราว์เซอร์ให้ดึงทรัพยากรที่เปลี่ยนเส้นทางด้วย GET โดยเฉพาะ MDN ระบุว่า รูปแบบนี้ช่วยให้ไคลเอ็นต์ดูการยืนยันหลังจาก POST โดยไม่ต้องรีเฟรชหน้าเว็บเพื่อทำซ้ำการทำงานเดิม

POST /contact

HTTP/1.1 303 See Other
Location: /contact/thanks

GET /contact/thanks

โปรดดูเอกสารอ้างอิง MDN 303 See Otherและคู่มือการเปลี่ยนเส้นทาง HTTPสำหรับพฤติกรรมการเปลี่ยนวิธีการ อย่าใช้การเปลี่ยนเส้นทาง 307 สำหรับวัตถุประสงค์นี้เมื่อคุณต้องการให้คำขอที่ตามมากลายเป็น GET เนื่องจาก 307 จะรักษาวิธีการและเนื้อหาเดิมไว้

อย่าเปลี่ยนฟอร์ม POST ทุกฟอร์มเป็น GET เพียงเพื่อระงับคำเตือน GET มีไว้สำหรับดึงข้อมูลและใส่ค่าจากฟอร์มลงใน URL เมื่อใช้กับฟอร์ม HTML ไม่เหมาะสมสำหรับรหัสผ่านหรือการกระทำที่เปลี่ยนแปลงสถานะของเซิร์ฟเวอร์เอกสารเกี่ยวกับการส่งฟอร์ม ของ MDN อธิบายความแตกต่างในทางปฏิบัติระหว่าง GET และ POST ไว้แล้ว

JavaScript fetch()สามารถส่งแบบฟอร์มได้โดยไม่ต้องเปลี่ยนหน้าเว็บทั้งหมด แต่เซิร์ฟเวอร์ก็ควรปกป้องการทำงานที่สำคัญจากการร้องขอซ้ำโดยไม่ตั้งใจ สำหรับแบบฟอร์มหลายหน้าแบบเดิม ๆ แล้ว POST/Redirect/GET ยังคงเป็นวิธีแก้ปัญหาที่ชัดเจนที่สุดสำหรับคำเตือนการรีเฟรชหน้าเว็บ

ฝากความเห็น

วิธีใช้งาน TinyTalk สำหรับการสนทนาด้วยเสียงบนเครือข่ายท้องถิ่นหรืออินเทอร์เน็ต

วิธีใช้งาน TinyTalk สำหรับการสนทนาด้วยเสียงบนเครือข่ายท้องถิ่นหรืออินเทอร์เน็ต

เรียนรู้ขั้นตอนการทำงานของการสนทนาด้วยเสียงผ่าน IP โดยตรงของ TinyTalk เตรียมไมโครโฟน เชื่อมต่อพีซีสองเครื่องบนเครือข่าย LAN และทำความเข้าใจว่าเหตุใดการโทรผ่านอินเทอร์เน็ตจึงต้องการความระมัดระวังเป็นพิเศษ

แปลงวิดีโอให้เป็นไฟล์ EXE ที่เล่นได้เองโดยอัตโนมัติด้วย MakeInstantPlayer

แปลงวิดีโอให้เป็นไฟล์ EXE ที่เล่นได้เองโดยอัตโนมัติด้วย MakeInstantPlayer

เรียนรู้ขั้นตอนการทำงานแบบเดิมของ MakeInstantPlayer สำหรับการสร้างแพ็กเกจวิดีโอเป็นไฟล์ EXE สำหรับ Windows ตรวจสอบตัวเลือกการเล่น และทำความเข้าใจข้อจำกัดด้านความเข้ากันได้และความปลอดภัย

รับการแจ้งเตือนจาก Facebook บนเดสก์ท็อปของคุณใน Chrome หรือ Edge

รับการแจ้งเตือนจาก Facebook บนเดสก์ท็อปของคุณใน Chrome หรือ Edge

เปิดใช้งานการแจ้งเตือนบนเดสก์ท็อปของ Facebook ในเบราว์เซอร์ของคุณ เลือกการแจ้งเตือนที่ Facebook ส่ง และแก้ไขปัญหาการแจ้งเตือนที่ถูกบล็อกใน Windows หรือ macOS

วิธีการอัปเดตไดรเวอร์อุปกรณ์ใน Windows 7

วิธีการอัปเดตไดรเวอร์อุปกรณ์ใน Windows 7

ค้นหาไดรเวอร์ที่ใช้งานร่วมกันได้สำหรับ Windows 7 ติดตั้งผ่านตัวจัดการอุปกรณ์หรือแพ็กเกจของผู้ผลิต และย้อนกลับไปใช้เวอร์ชันก่อนหน้าหากอุปกรณ์หยุดทำงาน

ข้อจำกัดด้านเวลาในการทดลองใช้ซอฟต์แวร์: ความเสี่ยง ข้อจำกัด และทางเลือกทางกฎหมาย

ข้อจำกัดด้านเวลาในการทดลองใช้ซอฟต์แวร์: ความเสี่ยง ข้อจำกัด และทางเลือกทางกฎหมาย

เรียนรู้ว่า Time Stopper ถูกออกแบบมาเพื่อทำอะไร เหตุใดคำแนะนำการขยายเวลาทดลองใช้แบบเก่าจึงไม่น่าเชื่อถือ และวิธีการจัดการการทดลองใช้ซอฟต์แวร์ การเรียกเก็บเงิน และไฟล์โครงการอย่างปลอดภัย

วิธีแก้ไข BIOS ของ NVIDIA: ตรวจสอบเบื้องต้นก่อนเปลี่ยน VBIOS

วิธีแก้ไข BIOS ของ NVIDIA: ตรวจสอบเบื้องต้นก่อนเปลี่ยน VBIOS

เรียนรู้ว่าโปรแกรมแก้ไข BIOS ของ NVIDIA รองรับ GPU ของคุณหรือไม่ วิธีการสำรองข้อมูล VBIOS ของการ์ดกราฟิก และเมื่อใดควรใช้เครื่องมือปรับแต่งที่ปลอดภัยกว่าหรือเครื่องมือเฟิร์มแวร์ของผู้ผลิต

วิธีเปลี่ยนแถบหัวเรื่องใน Command Prompt

วิธีเปลี่ยนแถบหัวเรื่องใน Command Prompt

เปลี่ยนชื่อหน้าต่าง Command Prompt โดยใช้ชื่อเดียวกับคำสั่ง ตั้งค่าป้ายกำกับทางลัดที่สามารถนำกลับมาใช้ใหม่ได้ หรือป้องกันไม่ให้ชื่อแท็บใน Windows Terminal เปลี่ยนไป

วิธีดาวน์โหลดไฟล์หลายไฟล์พร้อมกันในครั้งเดียวบน Windows

วิธีดาวน์โหลดไฟล์หลายไฟล์พร้อมกันในครั้งเดียวบน Windows

จัดเก็บ URL ของไฟล์โดยตรงลงในไฟล์ข้อความ แล้วใช้ PowerShell ในการดาวน์โหลดไฟล์เหล่านั้นลงในโฟลเดอร์เดียว ติดตามลิงก์ที่ดาวน์โหลดไม่สำเร็จ และหลีกเลี่ยงการเขียนทับไฟล์เดิม

ตรวจสอบและซ่อมแซมฮาร์ดไดรฟ์ Seagate หรือ Maxtor ด้วย SeaTools

ตรวจสอบและซ่อมแซมฮาร์ดไดรฟ์ Seagate หรือ Maxtor ด้วย SeaTools

ใช้ SeaTools ตรวจสอบฮาร์ดไดรฟ์ Seagate หรือ Maxtor เรียกใช้การวินิจฉัยที่ปลอดภัยและยาวนาน ตีความผลลัพธ์ และทำความเข้าใจความเสี่ยงต่อการสูญเสียข้อมูลก่อนที่จะลองใช้ Fix All

วิธีการแตกไฟล์ RAR ที่ป้องกันด้วยรหัสผ่านจำนวนมากใน WinRAR

วิธีการแตกไฟล์ RAR ที่ป้องกันด้วยรหัสผ่านจำนวนมากใน WinRAR

แตกไฟล์ RAR ที่ป้องกันด้วยรหัสผ่านหลายไฟล์พร้อมกันในครั้งเดียว เก็บแต่ละไฟล์ไว้ในโฟลเดอร์ของตัวเอง และแก้ไขปัญหาเกี่ยวกับรหัสผ่านและการแบ่งไดรฟ์