พวกเราส่วนใหญ่ใช้ Google Chrome เป็นเบราว์เซอร์ แต่ในขณะที่ท่อง Google Chrome เราพบข้อความป๊อปอัปหรือข้อความแสดงข้อผิดพลาด(เช่น Confirm Form Resubmission Error, Err_Connection_Reset , DNS_Probe_Finished_No_Internetเป็นต้น ) แต่เราไม่ค่อยเข้าใจความหมายที่ต้องการสื่อ หนึ่งในข้อผิดพลาดที่พบบ่อยที่สุดที่คุณจะพบคือป๊อปอัปกล่องโต้ตอบยืนยันการส่งแบบฟอร์มอีกครั้งพร้อมรหัสข้อผิดพลาดดังนี้: “ กดปุ่มโหลดซ้ำเพื่อส่งข้อมูลที่จำเป็นในการโหลดหน้าอีกครั้ง”
แต่ตามจริงแล้ว การยืนยันการส่งแบบฟอร์มใหม่เป็น'คุณลักษณะ'ของ Google Chrome มากกว่าข้อผิดพลาด ในบทความนี้ คุณจะพบว่าเหตุใดป๊อปอัปการส่งแบบฟอร์มยืนยันอีกครั้งและบางวิธีในการแก้ไขปัญหานี้
สารบัญ
ส่วนหนึ่ง
เหตุใดจึงแสดงข้อผิดพลาดในการยืนยันการส่งแบบฟอร์มอีกครั้ง
กล่องโต้ตอบยืนยันการส่งแบบฟอร์มใหม่จะปรากฏขึ้นเมื่อรีเฟรชหน้าเว็บของเบราว์เซอร์หรือกดปุ่มย้อนกลับ (พยายามกลับไปที่หน้าเว็บก่อนหน้า) ผู้โพสต์ Superuser ถือว่านี่เป็นคุณสมบัติมากกว่าที่จะเรียกว่าเป็นข้อผิดพลาด แม้ว่าผู้ใช้จำนวนมากจะรายงานซ้ำแล้วซ้ำเล่า คุณลักษณะนี้ยังคงอยู่ใน Google Chrome ทุกเวอร์ชันและเบราว์เซอร์อื่นๆ
สาเหตุเบื้องหลังคือโมดูล Google Chrome ที่สร้างขึ้นอย่างไม่มีประสิทธิภาพซึ่งเกี่ยวข้องกับการส่งต่อหรือย้อนกลับของหน้าเว็บ และตอนนี้แทบจะเป็นไปไม่ได้เลยที่จะแก้ปัญหานี้ มีเหตุผลบางประการที่อยู่เบื้องหลังการปรากฏขึ้นของข้อผิดพลาดนี้ครั้งแล้วครั้งเล่า เหตุผลเหล่านี้คือ:
- การเชื่อมต่ออินเทอร์เน็ตไม่ดี
- หน้าที่มีแบบฟอร์มบางประเภทได้รับการรีเฟรชแล้ว
- หากอยู่ตรงกลางของแบบฟอร์มที่ส่ง คุณกดปุ่มย้อนกลับ
เพิ่มคุณสมบัตินี้เพื่อป้องกันไม่ให้เกิดรายการซ้ำหลังจากกดปุ่มรีเฟรช ตัวอย่างเช่น หลังจากกรอกแบบฟอร์มใดๆ คุณส่งแบบฟอร์มเพื่อส่ง แต่ก่อนที่เซิร์ฟเวอร์จะรับแบบฟอร์ม คุณจะกดปุ่มรีเฟรชโดยไม่ตั้งใจ ดังนั้นป๊อปอัป"ยืนยันการส่งแบบฟอร์มใหม่"จะปรากฏขึ้น
หากคุณลักษณะนี้ไม่ได้สร้างขึ้น อาจมีความเป็นไปได้ที่บัญชีสองบัญชีจะถูกสร้างขึ้นโดยมีรายละเอียดเหมือนกัน ซึ่งไม่พึงปรารถนา ดังนั้นคุณลักษณะนี้จึงได้รับการพัฒนาและฝึกฝน แม้ว่าบางครั้ง คุณอาจรู้สึกหงุดหงิดกับป๊อปอัปนี้หากคุณกดปุ่มรีเฟรชโดยไม่ได้ตั้งใจ ดังนั้นความจำเป็นในการแก้ไขจึงต้องการวิธีการแก้ไขปัญหานี้
วิธีแก้ไขข้อผิดพลาดในการส่งแบบฟอร์มยืนยันอีกครั้ง
ตอนนี้ มาพูดถึงวิธีการมากมายที่คุณสามารถแก้ไขข้อผิดพลาดในการส่งแบบฟอร์มยืนยันอีกครั้งของ Google Chrome วิธีการต่อไปนี้สามารถช่วยคุณปิดข้อผิดพลาดในการส่งแบบฟอร์มยืนยันอีกครั้ง
จำนวนโซลูชั่น |
ชื่อโซลูชัน |
โซลูชัน 1 |
การใช้คุณสมบัติของ Google Chrome |
โซลูชัน 2 |
ใช้ GET แทน POST Method |
โซลูชัน 3 |
ปิดใช้งานการเคลื่อนไหวข้ามเบราว์เซอร์ |
โซลูชัน 4 |
ล้างข้อมูลการท่องเว็บใน Google Chrome |
โซลูชัน 5 |
รีเซ็ตการตั้งค่าเบราว์เซอร์ใน Chrome |
โซลูชัน 6 |
ปิดใช้งานส่วนขยายเบราว์เซอร์ที่ขัดแย้งใน Chrome |
โซลูชัน 7 |
การใช้รูปแบบ PRG |
โซลูชัน 8 |
ใช้ปุ่มส่ง AJAX |
โซลูชัน 9 |
เพิ่มแท็ก Inside Part |
โซลูชันที่ 1: การใช้คุณสมบัติของ Google Chrome
เมื่อผู้ใช้ Google Chrome รู้สึกรำคาญกับบั๊กนี้มาก เขาต้องการให้แก้ไข จากนั้นเขาก็พบวิธีแก้ไขอุปสรรคนี้โดยใช้คุณสมบัติของ Google Chrome คุณสามารถแก้ไขได้โดยทำตามขั้นตอนง่ายๆ
ขั้นตอนที่ 1:ก่อนอื่น คลิกขวาที่ไอคอนทางลัดของ Google Chromeแล้ว เลือก ตัวเลือกคุณสมบัติ กล่องโต้ตอบจะปรากฏขึ้น และคุณจะสามารถเห็นฟิลด์ที่มีชื่อเป็นเป้าหมาย

ขั้นตอนที่ 2:ตอนนี้ เพียงเพิ่มข้อความนี้ “ -disable-prompt-on-repost ” ที่ส่วนท้ายของเป้าหมาย

ตัวอย่างเช่น:- ถ้าเป้าหมายคือ
"C:\Program Files (x86)\Google\Chrome\Application\chrome.exe"C:\ program files ( x 86) \ Google\ Chrome\ Application\Chrome.exe
เพียงเปลี่ยน URL เป้าหมายด้านบนด้วย
"C:\ program files (x86)\ Google\ Chrome\ application\Chrome.exe"-disable-prompt-on repost.
ขั้นตอนที่ 3:หลังจากนั้น ปิด Google Chrome (หากเปิดไว้) และรีสตาร์ทแอปพลิเคชันโดยใช้ทางลัดเดียวกัน
ขั้นตอนที่ 4:เมื่อตรวจสอบครั้งสุดท้าย กล่องโต้ตอบประเภทเดียวกันปรากฏขึ้นหรือไม่เมื่อรีเฟรชหน้าเว็บ
จำไว้ว่า หากคุณกำลังใช้วิธีนี้เพื่อแก้ไขปัญหาการส่งแบบฟอร์มยืนยันอีกครั้ง คุณควรมีทางลัดสองทางของเบราว์เซอร์ จากทั้งสองนี้ ช็อตคัทหนึ่งควรได้รับการกำหนดค่าด้วยวิธีการข้างต้น ในขณะที่อีกอันควรมีคุณสมบัติเริ่มต้น การใช้ปุ่มลัดเฉพาะจะขึ้นอยู่กับประเภทของงานที่คุณต้องการดำเนินการ
ตัวอย่างเช่น งานที่ต้องส่งรายละเอียดส่วนบุคคลของคุณ เช่น รายละเอียดบัตรเครดิตหรืออะไรทำนองนั้น ควรดำเนินการโดยใช้ทางลัดที่มีคุณสมบัติเริ่มต้น [ในมุมมองด้านความปลอดภัย] เพื่อให้รายละเอียดของคุณปลอดภัย
โซลูชันที่ 2: การใช้ GET แทนวิธี POST
วิธีแรกคือการแทนที่วิธี POST ในวิธีนี้ คุณใช้ GET แทน POST.GET และ Post เป็นทั้งวิธี HTTP HTTP [hypertext transfer protocol] เป็นลิงค์ระหว่างไคลเอนต์และเซิร์ฟเวอร์ที่ช่วยให้ไคลเอนต์รับข้อมูลจากเซิร์ฟเวอร์
โพสต์เป็นวิธีการของ http ซึ่งข้อมูลที่ป้อนในแบบฟอร์มจะไม่ถูกผนวกเข้ากับ URL และยังคงเป็นความลับ รายละเอียดยังคงไม่ปรากฏแก่ผู้ใช้ แม้ว่าแบบฟอร์มจะใช้วิธีการ GET ก็ไม่รับประกันการรักษาความลับของข้อมูลเพิ่มเติม รายละเอียดถูกผนวกเข้ากับ URL ดังนั้นเราจึงไม่ใช้ GET
แต่เพื่อแก้ไขข้อผิดพลาดในการส่งแบบฟอร์มยืนยันอีกครั้ง คุณสามารถแทนที่วิธีการโพสต์ด้วยวิธี GET ได้ [ในกรณีที่หน้าของคุณเป็นแบบที่คุณได้รับอนุญาตให้แก้ไขข้อมูลในหน้า] ในการทำเช่นนั้น:-
ขั้นตอนที่ 1 : คุณต้องลบโพสต์ออกจาก URL และใช้ GET แทน
ตัวอย่างเช่น:-
//Remove POST
//Use GET
จดบันทึกหากคุณเป็นผู้ใช้ Google Chrome ปกติหรือเบราว์เซอร์อื่น วิธีนี้อาจไม่ใช่ตัวเลือกที่ดีที่สุดเพราะเป็นวิธีการชั่วคราวในการแก้ไขข้อผิดพลาดในการส่งแบบฟอร์มยืนยันอีกครั้ง แต่ยังมีวิธีอื่นในการแก้ไขปัญหานี้ในกรณีที่คุณต้องการวิธีแก้ปัญหาที่เหมาะสมที่สุด
โซลูชันที่ 3: ปิดใช้งานการเคลื่อนไหวข้ามเบราว์เซอร์
วิธีนี้ตรงไปตรงมาและมาจากผู้ใช้ที่น่ารำคาญรายอื่น เนื่องจากว่าการส่งแบบฟอร์มยืนยันใหม่ไม่ใช่จุดบกพร่อง เกิดขึ้นเนื่องจากเบราว์เซอร์ไม่สามารถแคชคำขอโพสต์และพยายามส่งรายละเอียดอีกครั้งเมื่อรีเฟรช
เพื่อหลีกเลี่ยงปัญหานี้ คุณต้องทำตามขั้นตอนด้านล่าง
ขั้นตอนที่ 1: ปิดใช้งานปุ่มเคลื่อนไหว (ปุ่มของหน้าย้อนกลับหรือไปข้างหน้า) สำหรับเบราว์เซอร์
หมายเหตุ: ในหน้าจอสัมผัส คุณสามารถทำสิ่งนี้ได้โดยปิดใช้งานตัวเลือกการเลื่อนเพื่อเลื่อนไปมาของหน้า แม้ว่าคุณจะกดรีเฟรชโดยไม่ได้ตั้งใจ กล่องโต้ตอบนั้นก็จะไม่ปรากฏขึ้น
โซลูชันที่ 4: ล้างข้อมูลการท่องเว็บใน Google Chrome
การล้างข้อมูลการท่องเว็บของ Google Chrome เป็นครั้งคราวทำให้คุณสามารถปิดใช้งานคุณลักษณะนี้ได้อย่างง่ายดาย เหตุผลเบื้องหลังนี้คือเบราว์เซอร์จดจำข้อมูลเมื่อกรอกแบบฟอร์ม ดังนั้น การทำสำเนาข้อมูลจึงเป็นไปได้ การล้างข้อมูลการท่องเว็บทั้งหมด (เช่น ประวัติ รหัสผ่าน คุกกี้ ข้อมูลแคช ฯลฯ) แสดงว่าคุณบังคับให้เบราว์เซอร์ลืมสิ่งต่างๆ ดังนั้นจึงหลีกเลี่ยงการทำซ้ำ วิธีล้างข้อมูลการท่องเว็บ:-
ขั้นตอนที่ 1:เปิดเบราว์เซอร์ Google Chrome แล้วคลิกจุดสามจุดที่วางไว้ในแนวตั้งที่มุมบนขวาสุดของเบราว์เซอร์

ขั้นตอนที่ 2:หลังจากนั้น เลือกเครื่องมือเพิ่มเติม ตามด้วย ล้างข้อมูลการท่องเว็บ จากเมนู

ขั้นตอนที่ 3:ในที่สุด ไปที่แท็บขั้นสูง และเลือกข้อมูลที่คุณต้องการลบ จากนั้นกดล้างข้อมูล
โซลูชันที่ 5: รีเซ็ตการตั้งค่าเบราว์เซอร์ใน Chrome
การรีเซ็ตการตั้งค่าเบราว์เซอร์ Chrome ยังเป็นทางออกที่ดีที่สุดในการแก้ไขข้อผิดพลาดในการส่งแบบฟอร์มยืนยันอีกครั้ง การตั้งค่าเบราว์เซอร์ที่ไม่เหมาะสมอาจนำไปสู่ป๊อปอัปและยกเลิกการตั้งค่าหรือรีเซ็ตการตั้งค่าเบราว์เซอร์ สิ่งที่คุณต้องทำคือทำตามขั้นตอนด้านล่าง:-
ขั้นตอนที่ 1:ก่อนอื่น ให้คลิกที่จุดสามจุดในแนวตั้งที่มุมบนขวาของเบราว์เซอร์เพื่อเปิดเมนู ซึ่งก็คือเมนูควบคุม

ขั้นตอนที่ 2:จากนั้นเลือกตัวเลือกการตั้งค่าจากเมนู
ขั้นตอนที่ 3:เลื่อนลงและคลิกที่แสดงการตั้งค่าขั้นสูง

ขั้นตอนที่ 4:จากนั้นค้นหา “ คืนค่าการตั้งค่าเป็นค่าเริ่มต้นดั้งเดิม ”ที่ส่วนท้ายของหน้าและคลิกที่มัน

ขั้นตอนที่ 5:ในที่สุด ให้คลิกที่รีเซ็ตการตั้งค่าและคุณทำเสร็จแล้ว

โซลูชันที่ 6: ปิดใช้งานส่วนขยายเบราว์เซอร์ที่ขัดแย้งใน Chrome
การปิดใช้งานส่วนขยายที่เสียหายยังสามารถแก้ไขข้อผิดพลาด Confirm Form Resubmission คุณต้องทำตามขั้นตอนด้านล่าง:
ขั้นตอนที่ 1:คลิกที่จุดสามจุดที่วางในแนวตั้งที่มุมขวาบนสุดของเบราว์เซอร์ของคุณ
ขั้นตอนที่ 2:จากนั้นไปที่Tools → Extensionsเพิ่มเติม

ขั้นตอนที่ 3:ในที่สุด ค้นหาส่วนขยายที่เสียหายจากรายการ ตามด้วยการปิดใช้งานและเปิดใช้งานอีกครั้ง

ส่วนขยายทั้งหมดที่คุณมีในเบราว์เซอร์จะปิดใช้งานเพียงครั้งเดียว และคุณสามารถเปิดใช้งานใหม่ทั้งหมดได้ตามความต้องการ สุดท้าย คุณสามารถลองตรวจสอบหน้าอีกครั้งเพื่อดูว่าปัญหาของคุณได้รับการแก้ไขแล้วหรือไม่
แนวทางที่ 7: การใช้รูปแบบ PRG
PRG ย่อมาจากรูปแบบ POST / เปลี่ยนเส้นทาง / GET โดยปกติ แบบฟอร์มบนหน้าเว็บจะใช้เฉพาะส่วน POST ของ PRG ซึ่งนำไปสู่ข้อผิดพลาดในการส่งใหม่ หากเราแน่ใจว่า PRG แสดงนัยโดยสิ้นเชิง เราก็สามารถหยุดข้อผิดพลาดนี้ได้
เมื่อใดก็ตามที่เพจต้องการแบบฟอร์ม ให้ออกแบบในลักษณะที่ไม่โพสต์ข้อมูลไปยังเซิร์ฟเวอร์โดยตรง คุณสามารถเพิ่มหนึ่งหน้าระหว่างหน้าและหน้าจริงได้ นี้อาจช่วยแก้ปัญหาของกล่องโต้ตอบที่ปรากฏขึ้น มาดูตัวอย่างสั้นๆ ที่ Mike นำเสนอจาก stack overflow
ตัวอย่าง:-
if(!empty($_POST[‘username’] && !empty($_POST[‘password’])) {
$user = new User;
$user->login($_POST[‘username’], $_POST[‘password’]);
if ($user->isLoggedIn()) {
header(“Location: /admin/welcome.php”);
exit;
}
else {
header(“Location: /login.php?invalid_login”);
}
}
เรายังสามารถใช้:-
if (isset($_GET[‘invalid_login’])) {
echo “Your username and password combination is invalid”;
}
เพื่อแสดงข้อความแสดงข้อผิดพลาดในกรณีที่ชื่อผู้ใช้และรหัสผ่านรวมกันไม่ตรงกัน และไม่ต้องการเปลี่ยนเส้นทางไปยังหน้าเข้าสู่ระบบอีกครั้งเหมือนในกรณีแรก
โซลูชันที่ 8: ใช้ ปุ่มส่ง AJAX
นอกจากนี้ คุณสามารถใช้ฟังก์ชัน AJAX ของ jQuery เพื่อหยุดการโหลดแบบฟอร์มที่ส่งซ้ำได้สำเร็จ
โดยทำตามรหัสเพจของคุณ
$.ajax({
type: “POST”,
URL: “bin/validation.php”
data: dataString,
success: function(){
//Whatever you want to do on successful submission
}
});
return false;
โดยทั่วไปฟังก์ชัน AJAX () จะประมวลผลฟิลด์ข้อมูลในแบบฟอร์มตามไฟล์ PHP ที่ระบุเป็นคุณสมบัติ URL หากข้อมูลยืนยัน แสดงว่าส่งแบบฟอร์มสำเร็จ และคืนค่าเป็นเท็จ แม้ว่าหน้าจะโหลดซ้ำ จะไม่มีกล่องโต้ตอบปรากฏขึ้น
โซลูชันที่ 9: เพิ่มแท็ก Inside
ส่วนหนึ่ง
วิธีนี้ใช้ได้เฉพาะเมื่อเว็บไซต์เริ่มต้นคำขอและผู้ใช้รีเฟรชหน้าเท่านั้น คุณสามารถหยุดป๊อปอัปได้โดยบรรลุซอร์สโค้ดของหน้าเว็บและเพิ่มแท็กต่อไปนี้ใน
ส่วนของหน้า
ส่วนหัวของแบบฟอร์มยังสามารถนำไปสู่ป๊อปอัปยืนยันการส่งแบบฟอร์มอีกครั้ง จดบันทึกหากคุณใช้แบบฟอร์มที่มีสิ่งนี้ในส่วนหัว:
header(‘Cache-Control: no-store, no-cache, must-revalidate, max-age=0’);
จากนั้นปัญหาสามารถแก้ไขได้โดย:-
ขั้นตอนที่ 1:ก่อนอื่น ให้ลองลบ (ไม่มีที่เก็บ) จากส่วนหัว
ขั้นตอนที่ 2:จากนั้น รีเฟรชหน้า
ขั้นตอนที่ 3:ในที่สุด ป้อนรายละเอียดในแบบฟอร์มอีกครั้งและรีเฟรชเพื่อตรวจสอบว่าจุดบกพร่องได้รับการแก้ไขหรือไม่
อ่านเพิ่มเติม:
บทสรุป
การยืนยันการส่งแบบฟอร์มใหม่เป็นคุณลักษณะการเรียกดูแทนที่จะเป็นข้อผิดพลาด คุณลักษณะนี้ช่วยให้แน่ใจว่าจะไม่เกิดความซ้ำซ้อนของรายละเอียด ตัวอย่างเช่น บัตรเครดิตของคุณอาจถูกเรียกเก็บเงินสองครั้ง หากไม่มีการยืนยันการส่งแบบฟอร์มใหม่ แต่ไม่ต้องสงสัยเลยว่าเป็นคุณสมบัติที่น่ารำคาญ
ในบทความนี้ เราพบวิธีเฉพาะในการแก้ไข ข้อผิด พลาดConfirm Form Resubmission Error คุณสามารถปฏิบัติตามวิธีการใดก็ได้เพื่อแก้ไขปัญหา แต่ถ้าปัญหายังคงอยู่ ให้ตรวจสอบให้แน่ใจว่าการเชื่อมต่ออินเทอร์เน็ตของคุณไม่ช้า ดังนั้น ปัญหานี้จึงเล็กมากและสามารถแก้ไขได้ด้วยวิธีการง่ายๆ สองสามวิธีที่คุณดำเนินการได้ภายในไม่กี่นาที