คำถามติดแท็ก javascript

JavaScript (เพื่อไม่ให้สับสนกับ Java) เป็นภาษาระดับสูง, ไดนามิก, หลายกระบวนทัศน์, ภาษาที่พิมพ์น้อยที่ใช้สำหรับทั้งฝั่งไคลเอ็นต์และฝั่งเซิร์ฟเวอร์สคริปต์ ใช้แท็กนี้สำหรับคำถามเกี่ยวกับการใช้งานทั่วไปของ ECMAScript, JavaScript, JScript ฯลฯ โดยทั่วไปแล้ว JS ไม่ได้อ้างถึง ECMA-cousin, ActionScript

2
มีหลักการ OO ใดบ้างที่ใช้ได้กับ Javascript จริงหรือไม่
Javascript เป็นภาษาเชิงวัตถุต้นแบบ แต่สามารถเป็นคลาสได้หลายวิธีโดย: การเขียนฟังก์ชั่นที่จะใช้เป็นคลาสด้วยตัวเอง ใช้ระบบระดับดีในกรอบ (เช่นmootools Class.Class ) สร้างจาก Coffeescript ในตอนแรกฉันมักจะเขียนโค้ดตามคลาสใน Javascript และพึ่งพามันอย่างมาก อย่างไรก็ตามเมื่อเร็ว ๆ นี้ฉันได้ใช้กรอบงาน Javascript และNodeJSที่หายไปจากความคิดในชั้นเรียนนี้และพึ่งพาเพิ่มเติมเกี่ยวกับลักษณะแบบไดนามิกของรหัสเช่น: การเขียนโปรแกรม Async การใช้และการเขียนโค้ดที่ใช้ callbacks / events การโหลดโมดูลด้วย RequireJS (เพื่อไม่ให้รั่วไหลไปยัง namespace ทั่วโลก) แนวคิดการเขียนโปรแกรมเชิงหน้าที่เช่นรายการความเข้าใจ (แผนที่ตัวกรองและอื่น ๆ ) เหนือสิ่งอื่นใด สิ่งที่ฉันรวบรวมได้คือหลักการและรูปแบบ OO ส่วนใหญ่ที่ฉันอ่าน (เช่นรูปแบบ SOLID และ GoF) ถูกเขียนขึ้นสำหรับภาษา OO ที่อ้างอิงกับคลาสในใจเช่น Smalltalk และ C ++ แต่มีผู้ใดบ้างที่สามารถใช้งานได้กับภาษาต้นแบบเช่น Javascript …

4
เหตุใดนักพัฒนาซอฟต์แวร์หลายคนจึงละเมิดหลักการเปิด / ปิด
เหตุใดนักพัฒนาซอฟต์แวร์หลายคนจึงละเมิดหลักการเปิด / ปิดโดยการปรับเปลี่ยนหลายอย่างเช่นการเปลี่ยนชื่อฟังก์ชั่นซึ่งจะทำให้แอปพลิเคชั่นแตกหลังจากอัพเกรด คำถามนี้ข้ามไปที่หัวของฉันหลังจากเวอร์ชันที่รวดเร็วและต่อเนื่องในไลบรารีReact ทุกช่วงเวลาสั้น ๆ ฉันสังเกตเห็นการเปลี่ยนแปลงมากมายในไวยากรณ์ชื่อส่วนประกอบ ... ฯลฯ ตัวอย่างในReact รุ่นที่กำลังมา : คำเตือนการเลิกใช้ใหม่ การเปลี่ยนแปลงที่ยิ่งใหญ่ที่สุดคือเราได้ดึง React.PropTypes และ React.createClass ลงในแพ็คเกจของตัวเองแล้ว ทั้งสองยังสามารถเข้าถึงได้ผ่านวัตถุหลักปฏิกิริยา แต่การใช้อย่างใดอย่างหนึ่งจะบันทึกคำเตือนการคัดค้านเพียงครั้งเดียวไปยังคอนโซลเมื่ออยู่ในโหมดการพัฒนา นี่จะเป็นการเปิดใช้งานการปรับขนาดโค้ดในอนาคต คำเตือนเหล่านี้จะไม่ส่งผลต่อการทำงานของแอปพลิเคชันของคุณ อย่างไรก็ตามเราทราบว่าอาจทำให้เกิดความไม่พอใจโดยเฉพาะอย่างยิ่งหากคุณใช้กรอบการทดสอบที่ถือว่า console.error เป็นความล้มเหลว การเปลี่ยนแปลงเหล่านี้ถือเป็นการละเมิดหลักการนั้นหรือไม่? ในฐานะผู้เริ่มต้นสำหรับบางอย่างเช่นReactฉันจะเรียนรู้ได้อย่างไรด้วยการเปลี่ยนแปลงอย่างรวดเร็วในไลบรารี (มันน่าผิดหวังมาก)

4
JavaScript ตีความโดยการออกแบบหรือไม่
ฉันระมัดระวังในการถามคำถามนี้เพราะอาจดูเหมือนพิถีพิถันมากเกินไป ฉันเพิ่งเปิด JavaScript: The Definitive Guide และมันระบุไว้ในหน้าแรกของบทที่ 1 "JavaScript เป็นภาษาการเขียนโปรแกรมตีความในระดับสูงแบบไดนามิกและไม่พิมพ์ออกมา" ดังนั้นฉันจะพูดได้ไหมว่าส่วนที่ตีความนั้นเป็นข้อกำหนดในข้อกำหนดภาษาหรือทำให้เข้าใจผิดว่าภาษานั้นเป็นภาษาโปรแกรมที่ถูกตีความเมื่อเคารพความแตกต่างระหว่างภาษาและการใช้งานหลายอย่าง? ไม่มีคอมไพเลอร์แบบคงที่สำหรับ JavaScript อย่างชัดเจน - https://stackoverflow.com/questions/1118138/is-there-a-native-machine-code-compiler-for-javascriptดังนั้นอาจเป็นเพียงภาพสะท้อนของสิ่งนี้
73 javascript 

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

14
เป็นความคิดที่ดีหรือไม่ที่จะส่งคืนชนิดข้อมูลที่แตกต่างจากฟังก์ชันเดียวในภาษาที่พิมพ์แบบไดนามิกหรือไม่?
ภาษาหลักของฉันถูกพิมพ์แบบคงที่ (Java) ใน Java คุณต้องคืนค่าประเภทเดียวจากทุกวิธี ตัวอย่างเช่นคุณไม่สามารถมีวิธีการที่มีเงื่อนไขส่งกลับหรือเงื่อนไขส่งกลับString Integerตัวอย่างเช่นใน JavaScript สิ่งนี้เป็นไปได้มาก ในภาษาที่พิมพ์แบบสแตติกฉันเข้าใจว่าทำไมนี่เป็นความคิดที่ไม่ดี ถ้าทุกวิธีส่งกลับObject(ผู้ปกครองทั่วไปทุกคลาสสืบทอดจาก) ดังนั้นคุณและคอมไพเลอร์ก็ไม่รู้ว่าคุณกำลังทำอะไรอยู่ คุณจะต้องค้นพบข้อผิดพลาดทั้งหมดของคุณในเวลาทำงาน แต่ในภาษาที่พิมพ์แบบไดนามิกอาจไม่มีแม้แต่คอมไพเลอร์ ในภาษาที่พิมพ์แบบไดนามิกฉันไม่ชัดเจนว่าทำไมฟังก์ชั่นที่ส่งกลับหลายประเภทเป็นความคิดที่ไม่ดี พื้นหลังของฉันในภาษาแบบคงที่ทำให้ฉันหลีกเลี่ยงการเขียนฟังก์ชั่นดังกล่าว แต่ฉันกลัวว่าฉันมีความสนใจในคุณลักษณะที่ทำให้โค้ดของฉันสะอาดขึ้นในแบบที่ฉันมองไม่เห็น แก้ไข : ฉันจะลบตัวอย่างของฉัน (จนกว่าฉันจะนึกได้ดีกว่า) ฉันคิดว่ามันเป็นแรงผลักดันให้ผู้คนตอบกลับไปยังจุดที่ฉันไม่พยายามทำ

4
เหตุผลที่จะไม่ใช้ JSF [ปิด]
ฉันใหม่กับ StackExchange แต่ฉันคิดว่าคุณจะสามารถช่วยฉันได้ เรากำลังสร้างแอปพลิเคชัน Java Enterprise ใหม่แทนที่โซลูชัน JSP ดั้งเดิม เนื่องจากมีการเปลี่ยนแปลงมากมาย UI และส่วนต่างๆของตรรกะทางธุรกิจจะได้รับการพิจารณาและนำมาใช้ใหม่อย่างสมบูรณ์ ความคิดแรกของเราคือ JSF เนื่องจากเป็นมาตรฐานใน Java EE ตอนแรกฉันมีความประทับใจที่ดี แต่ตอนนี้ฉันกำลังพยายามใช้ต้นแบบการทำงานและมีข้อกังวลอย่างจริงจังเกี่ยวกับการใช้งาน ก่อนอื่นมันสร้างการผสมผสานที่ไม่ถูกต้องที่เลวร้ายที่สุดและยุ่งเหยิงที่สุดที่ไม่เคยมีมาก่อนซึ่งฉันไม่เคยเห็นมาก่อน มันละเมิดกฎทุกข้อที่ฉันได้เรียนรู้ในการพัฒนาเว็บ นอกจากนี้มันจะรวมเข้าด้วยกันสิ่งที่ไม่ควรเชื่อมโยงกันอย่างแน่นหนา: เค้าโครงการออกแบบลอจิกและการสื่อสารกับเซิร์ฟเวอร์ ฉันไม่เห็นวิธีที่ฉันจะสามารถขยายผลลัพธ์นี้ได้อย่างสะดวกสบายไม่ว่าจะเป็นการจัดแต่งทรงผมด้วย CSS, การเพิ่มลูกกวาด UI (เช่นปุ่มลัดที่สามารถกำหนดค่าได้, วิดเจ็ตลากและวาง) หรืออะไรก็ตาม ประการที่สองมันซับซ้อนเกินไป ความซับซ้อนของมันโดดเด่น หากคุณถามฉันมันเป็นนามธรรมที่ไม่ดีของเทคโนโลยีเว็บพื้นฐานพิการและไร้ประโยชน์ในที่สุด ฉันมีประโยชน์อะไรบ้าง ไม่มีถ้าคุณคิด ส่วนประกอบหลายร้อย ฉันเห็นตัวอย่างโค้ด HTML / CSS หมื่นตัวอย่างโค้ด JavaScript นับหมื่นและปลั๊กอิน jQuery นับพัน มันแก้ปัญหาได้มากมาย - เราจะไม่มีถ้าเราไม่ใช้ JSF หรือรูปแบบตัวควบคุมด้านหน้าเลย …

15
มีเหตุผลใดที่จะไม่ไปจาก Javascript ฝั่งไคลเอ็นต์โดยตรงกับฐานข้อมูลหรือไม่?
สำเนาซ้ำที่เป็นไปได้: เขียนแอปพลิเคชัน“ เซิร์ฟเวอร์น้อยกว่า” บนเว็บ ดังนั้นสมมติว่าฉันจะสร้างโคลน Exchange Stack และฉันตัดสินใจที่จะใช้สิ่งที่ต้องการ CouchDB เป็นที่เก็บแบ็กเอนด์ของฉัน หากฉันใช้การพิสูจน์ตัวตนในตัวและการอนุญาตระดับฐานข้อมูลมีเหตุผลใดที่จะไม่อนุญาตให้ Javascript ฝั่งไคลเอ็นต์เขียนโดยตรงไปยังเซิร์ฟเวอร์ CouchDB ที่เปิดเผยสู่สาธารณะ เนื่องจากนี่เป็นแอปพลิเคชั่น CRUD และตรรกะทางธุรกิจประกอบด้วย "ผู้เขียนเท่านั้นที่สามารถแก้ไขโพสต์ของพวกเขา" ฉันไม่เห็นความต้องการมากที่จะมีเลเยอร์ระหว่างสิ่งที่ฝั่งไคลเอ็นต์และฐานข้อมูล ฉันเพียงแค่ใช้การตรวจสอบด้าน CouchDB เพื่อให้แน่ใจว่าไม่มีใครใส่ข้อมูลขยะและตรวจสอบให้แน่ใจว่ามีการตั้งค่าการอนุญาตอย่างถูกต้องเพื่อให้ผู้ใช้สามารถอ่านข้อมูล _user ของตนเองได้ การเรนเดอร์จะทำได้โดยฝั่งไคลเอ็นต์โดยบางสิ่งเช่น AngularJS โดยพื้นฐานแล้วคุณสามารถมีเซิร์ฟเวอร์ CouchDB และหน้าแบบ "คงที่" และคุณก็พร้อมที่จะไป คุณไม่จำเป็นต้องมีการประมวลผลด้านเซิร์ฟเวอร์ใด ๆ เพียงแค่สิ่งที่สามารถแสดงหน้า HTML ได้ การเปิดฐานข้อมูลของฉันสู่โลกดูเหมือนผิด แต่ในสถานการณ์นี้ฉันไม่สามารถคิดได้ว่าทำไมตราบใดที่การตั้งค่าการอนุญาตถูกต้อง มันขัดกับสัญชาตญาณของฉันในฐานะนักพัฒนาเว็บ แต่ฉันไม่สามารถคิดได้ด้วยเหตุผลที่ดี เหตุใดจึงเป็นความคิดที่ไม่ดี แก้ไข: ดูเหมือนว่ามีการสนทนาที่คล้ายกันที่นี่: การเขียนเว็บ "เซิร์ฟเวอร์น้อยกว่า" แอปพลิเคชัน แก้ไข: การอภิปรายที่น่าประทับใจจนถึงตอนนี้และฉันขอขอบคุณข้อเสนอแนะของทุกคน! ฉันรู้สึกว่าฉันควรเพิ่มสมมติฐานทั่วไปสองสามข้อแทนที่จะเรียกเฉพาะ …

8
การเข้ารหัสฝั่งไคลเอ็นต์: จะป้องกันการใช้งานที่ประสงค์ร้ายได้อย่างไร?
ในช่วงไม่กี่ปีที่ผ่านมาแนวโน้มของแอปพลิเคชันฝั่งไคลเอ็นต์ (เบราว์เซอร์) ได้ถูกถอดออกจริงๆ สำหรับโครงการล่าสุดของฉันฉันได้ตัดสินใจที่จะลองและย้ายไปตามเวลาและเขียนแอปพลิเคชันฝั่งไคลเอ็นต์ ส่วนหนึ่งของแอปพลิเคชันนี้เกี่ยวข้องกับการส่งอีเมลธุรกรรมไปยังผู้ใช้ (ตัวอย่างเช่นตรวจสอบความถูกต้องลงทะเบียนอีเมลรีเซ็ตรหัสผ่าน ฯลฯ ) ฉันใช้ API บุคคลที่สามเพื่อส่งอีเมล โดยปกติฉันจะให้แอปพลิเคชันของฉันทำงานบนเซิร์ฟเวอร์ ฉันจะเรียก API ของบุคคลที่สามจากรหัสบนเซิร์ฟเวอร์ของฉัน การเรียกใช้แอปพลิเคชันฝั่งไคลเอ็นต์หมายความว่าสิ่งนี้จะต้องเกิดขึ้นบนเบราว์เซอร์ของผู้ใช้ API บุคคลที่สามจัดเตรียมไฟล์ JavaScript ที่จำเป็นเพื่อให้บรรลุสิ่งนี้ ปัญหาที่เห็นได้ชัดแรกที่ฉันเห็นคือฉันต้องใช้คีย์ API ปกติแล้วนี่จะถูกเก็บไว้อย่างปลอดภัยบนเซิร์ฟเวอร์ของฉัน แต่ตอนนี้สมมุติว่าฉันจะต้องให้คีย์นี้แก่เบราว์เซอร์ไคลเอ็นต์ สมมติว่าฉันสามารถแก้ไขปัญหานี้ได้ปัญหาต่อไปคือสิ่งที่หยุดผู้ใช้ที่มีความชำนาญด้านเทคโนโลยีโหลดเครื่องมือผู้พัฒนา JavaScript บนเบราว์เซอร์และใช้อีเมล API อย่างไรก็ตามพวกเขาชอบแทนที่จะบอกว่าปฏิบัติตามกฎใด ๆ ที่ฉันตั้งไว้ในแอปพลิเคชัน . ฉันเดาคำถามทั่วไปของฉันคือ - เราจะป้องกันแอปพลิเคชันฝั่งไคลเอ็นต์ได้อย่างไร

3
ทำไมเฟรมเวิร์ก / ไลบรารี JavaScript มีฟังก์ชั่นที่มีอยู่แล้วในจาวาสคริปต์แท้?
ฉันสงสัยว่าทำไมเฟรมเวิร์ก / ห้องสมุดมีผู้ช่วยเหลือเป็นของตัวเอง ลองทำjQueryและAngularJSกัน พวกเขามีeachฟังก์ชั่นตัววนซ้ำของตัวเอง: jQuery.each () angular.forEach () Array.prototype.forEachแต่เรามี ในทำนองเดียวกัน jQuery.parseJSON () angular.fromJson () แต่เรามีJSON.parse()ฟังก์ชั่นใน JavaScript วานิลลา

8
ทำไมคนปิดการใช้งานจาวาสคริปต์?
ฉันถามคำถามเมื่อวานนี้ฉันควรสนใจที่จะพัฒนาสำหรับ JavaScript หรือไม่ . ฉันคิดว่า consencus คือ: ใช่ฉันควรพัฒนาสำหรับ JavaScript Disabled ตอนนี้ฉันแค่อยากเข้าใจว่าทำไมผู้ใช้ปิดการใช้งาน JS ดูเหมือนนักพัฒนาหลายคน (ฉันเดาว่าคนที่ตอบคำถามคือนักพัฒนา) ปิดการใช้งาน JS ทำไมเป็นอย่างนั้น ทำไมผู้ใช้ปิดการใช้งาน JS เพื่อความปลอดภัย? ความเร็ว? หรืออะไร?

2
เมื่อไม่ใช้ Google Web Toolkit [ปิด]
ฉันกำลังพิจารณาใช้ GWT ในโครงการพัฒนาเว็บแอพหลัก ๆ ของ บริษัท นั่นคือข้อได้เปรียบที่สำคัญในสายตาของฉันคือการคอมไพล์ข้ามไปยัง Javascript ซึ่ง (อย่างน้อยในทางทฤษฎี) จะช่วยทีมของฉันลดขนาดของสแต็คเทคโนโลยี . อย่างไรก็ตามก่อนที่จะถูกไฟไหม้ (เหมือน devs ส่วนใหญ่) ฉันต้องการได้ยินจากโปรแกรมเมอร์ที่ใช้งานจริงกับปัญหาใด ๆ กับ GWT ซึ่งจะขัดขวางหรือ จำกัด มันใช้ภายในโดเมนปัญหาบางอย่าง อะไรคือข้อโต้แย้งในการใช้ GWT และเพราะอะไร
55 java  javascript  ajax  gwt 

12
ถือว่าเป็นการใช้งาน PHP ที่ไม่ดีหรือไม่
หลายต่อหลายครั้งบนเว็บไซต์นี้ฉันเห็นคนพยายามทำสิ่งนี้: <script type="text/javascript"> $(document).ready(function(){ $('<?php echo $divID ?>').click(funtion(){ alert('do something'); }); }); </script> ฉันไม่คิดว่านี่เป็นรูปแบบที่ผู้คนตกอยู่ในความเป็นจริง ต้องมีบทเรียนหรือสื่อการเรียนรู้ที่แสดงสิ่งนี้มิฉะนั้นเราจะไม่เห็นมันมากนัก สิ่งที่ฉันถามคือฉันกำลังทำเรื่องนี้มากเกินไปหรือเป็นการปฏิบัติที่เลวร้ายจริง ๆ ? แก้ไข: ได้ พูดคุยกับเพื่อนของฉันเกี่ยวกับเรื่องนี้ที่มักจะใส่ทับทิมใน JavaScript ของเขาและเขานำประเด็นนี้ขึ้นมา การวางค่าคงที่ของแอพพลิเคชั่นในจาวาสคริปต์ของคุณนั้นเป็นแบบไดนามิกหรือไม่ดังนั้นคุณไม่ต้องแก้ไขสองไฟล์ ตัวอย่างเช่น... MYAPP.constants = <php echo json_encode($constants) ?>; ยังเป็นการตกลงที่จะเข้ารหัสข้อมูลที่คุณวางแผนที่จะใช้ในไลบรารีโดยตรง ChartLibrary.datapoints = <php echo json_encode($chartData) ?>; หรือเราควรโทร AJAX ทุกครั้ง?

8
อะไรคือข้อเสียของการใช้งาน JavaScript รันไทม์แบบมัลติเธรด? [ปิด]
ฉันทำงานเกี่ยวกับการใช้งาน JavaScript แบบหลายเธรดสำหรับสัปดาห์ที่ผ่านมา ฉันมีหลักฐานของแนวคิดที่ทำใน C ++ โดยใช้ JavaScriptCore และเพิ่ม สถาปัตยกรรมนั้นง่าย: เมื่อรันไทม์เสร็จสิ้นการประเมินสคริปต์หลักมันจะเปิดตัวและเข้าร่วมเธรดพูลซึ่งเริ่มเลือกงานจากคิวลำดับความสำคัญที่ใช้ร่วมกันหากสองภารกิจพยายามเข้าถึงตัวแปรพร้อมกันมันจะถูกทำเครื่องหมายอะตอมมิก . ปัญหาคือเมื่อฉันแสดงการออกแบบนี้ให้โปรแกรมเมอร์ JavaScript ฉันได้รับความคิดเห็นเชิงลบอย่างมากและฉันไม่รู้ว่าทำไม แม้จะเป็นส่วนตัวพวกเขาทุกคนบอกว่าจาวาสคริปต์นั้นมีความหมายว่าเป็นเธรดเดี่ยวซึ่งไลบรารีที่มีอยู่จะต้องถูกเขียนใหม่และ gremlins จะวางไข่และกินสิ่งมีชีวิตทุกชนิดถ้าฉันทำงานต่อไป ตอนแรกฉันมีการนำ coroutine มาใช้ (โดยใช้บริบทเพิ่ม) ในสถานที่เช่นกัน แต่ฉันต้องทิ้ง (JavaScriptCore มีความรู้เกี่ยวกับสแต็ค) และฉันไม่ต้องการเสี่ยงต่อความโกรธของพวกเขาดังนั้นฉันจึงตัดสินใจไม่พูดถึงมัน คุณคิดอย่างไร? JavaScript หมายถึงเป็นเธรดเดี่ยวหรือไม่และควรปล่อยไว้ตามลำพังหรือไม่ เหตุใดทุกคนจึงไม่เห็นด้วยกับการรันไทม์ JavaScript ที่ทำงานพร้อมกัน แก้ไข: ขณะนี้โครงการอยู่ในGitHubทดลองด้วยตัวเองและแจ้งให้เราทราบว่าคุณคิดอย่างไร ต่อไปนี้เป็นรูปภาพของสัญญาที่รันบนคอร์ CPU ทั้งหมดพร้อมกันโดยไม่มีการช่วงชิง:

1
วิธีที่ดีที่สุดในการรวมไฟล์ JavaScript โดยใช้แท็กสคริปต์คืออะไร
ฉันมักจะรวมไฟล์ JavaScript โดยใช้แท็กสคริปต์ดังต่อไปนี้ <script type="text/javascript" src="somefile.js"></script> ฉันเคยเห็นบางคนใช้คุณสมบัติภาษาเช่นกัน วันนี้ฉันพบว่ามีคนจำนวนมากที่ไม่ใช้แอตทริบิวต์ type ฉันเริ่มรู้สึกว่าถ้าจาวาสคริปต์เป็นภาษาสคริปต์เริ่มต้นแล้วฉันก็ควรละเว้นคุณสมบัติประเภท การละเว้นแอตทริบิวต์ประเภทจะดีหรือไม่ มันจะทำให้เกิดปัญหาใด ๆ ?
50 javascript 

6
AJAX ที่ซ่อนไว้นั้นปลอดภัยแค่ไหนที่ขอประสิทธิภาพปลอมมา?
คำขอ AJAX ที่ซ่อนอยู่คืออะไร ฉันสังเกตเห็นการเพิ่มขึ้นของการใช้คำขอ AJAX ที่ซ่อนอยู่ซึ่งออกแบบมาเพื่อให้การกระทำของผู้ใช้ปรากฏขึ้นทันที ฉันจะอ้างถึงคำขอ AJAX ประเภทนี้ว่าไม่ปิดกั้น มันเป็นคำขอ AJAX ที่เกิดขึ้นโดยที่ผู้ใช้ไม่ได้ตระหนักว่ากำลังเกิดขึ้นมันถูกดำเนินการในพื้นหลังและการดำเนินการของมันเงียบ ( ไม่มี verbose เพื่อระบุว่าการโทร AJAX เสร็จสมบูรณ์แล้ว ) เป้าหมายคือเพื่อให้การดำเนินการปรากฏว่ามันเกิดขึ้นทันทีเมื่อมันยังไม่เสร็จ นี่คือตัวอย่างของคำขอ AJAX ที่ไม่ปิดกั้น ผู้ใช้คลิกที่ลบในชุดอีเมล รายการจะหายไปจากกล่องจดหมายทันทีและสามารถดำเนินการต่อกับการดำเนินการอื่นได้ ในขณะเดียวกันคำขอ AJAX กำลังประมวลผลการลบรายการในพื้นหลัง ผู้ใช้กรอกฟอร์มสำหรับบันทึกใหม่ คลิกบันทึก รายการใหม่จะปรากฏในรายการทันที ผู้ใช้สามารถเพิ่มระเบียนใหม่ต่อไปได้ เพื่อชี้แจงนี่คือตัวอย่างของการปิดกั้นการร้องขอ AJAX; ผู้ใช้คลิกที่ลบในชุดอีเมล เคอร์เซอร์นาฬิกาทรายปรากฏขึ้น มีการร้องขอ AJAX และเมื่อตอบสนองเคอร์เซอร์นาฬิกาทรายถูกปิดใช้งาน ผู้ใช้ต้องรอวินาทีเพื่อให้การดำเนินการเสร็จสมบูรณ์ ผู้ใช้กรอกฟอร์มสำหรับบันทึกใหม่ คลิกบันทึก แบบฟอร์มเปลี่ยนเป็นสีเทาเมื่อมีตัวโหลด AJAX เคลื่อนไหว ข้อความจะปรากฏ "บันทึกข้อมูลของคุณแล้ว" และบันทึกใหม่จะปรากฏในรายการ ความแตกต่างระหว่างสองสถานการณ์ข้างต้นคือการตั้งค่า AJAX …

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.