เมื่อใช้คำขอแบบอะซิงโครนัส บางครั้งจำเป็นต้องส่งคืนผลลัพธ์ของคำขอแบบอะซิงโครนัสไปยังฟังก์ชัน js อื่น ในกรณีนี้ ผลลัพธ์ของคำขอจะไม่ถูกส่งกลับจนกว่าคำขอแบบอะซิงโครนัสจะถูกส่งกลับ ฟังก์ชัน js ที่คำขอถูกส่งเสร็จสมบูรณ์ การดำเนินการที่ตามมานั่นคือการส่งคืนได้ถูกดำเนินการแล้ว ซึ่งจะทำให้ผลลัพธ์การส่งคืนเป็นอักขระโมฆะ
สรุป: หากต้องการประมวลผลผลลัพธ์ที่ส่งคืนโดยคำขอส่งหลังจากใช้คำขอ Ajax วิธีที่ดีที่สุดคือใช้คำขอแบบซิงโครนัส
ตัวอย่างเช่น: ในตัวอย่างต่อไปนี้ ผลลัพธ์ที่ส่งคืนอาจไม่ถูกต้อง เนื่องจากการร้องขอ ajax asynchronous ยังไม่ได้ดำเนินการ และฟังก์ชันได้ดำเนินการ return แล้ว
คัดลอกรหัสรหัสดังต่อไปนี้:
ฟังก์ชั่น fn(){
ผลลัพธ์ var = " ";
$.ajax({
url : 'URL ของคุณ',
ข้อมูล:{ชื่อ:ค่า},
แคช: เท็จ
อะซิงก์: จริง,
ประเภท: "โพสต์",
ความสำเร็จ : ฟังก์ชั่น (ข้อมูล) {
ทำบางสิ่งบางอย่าง....
ผลลัพธ์ = ....
-
// การประมวลผลข้อมูลที่ส่งคืนใน ajax จะทำให้เกิดข้อผิดพลาดเช่นกัน
ส่งคืนผลลัพธ์;
-
1 วิธีการร้องขอแบบอะซิงโครนัส:
คัดลอกรหัสรหัสดังต่อไปนี้:
$.ajax({
url : 'URL ของคุณ',
ข้อมูล:{ชื่อ:ค่า},
แคช: เท็จ
อะซิงก์: จริง,
ประเภท: "โพสต์",
ประเภทข้อมูล : 'json/xml/html',
ความสำเร็จ : ฟังก์ชั่น (ผลลัพธ์) {
ทำบางสิ่งบางอย่าง....
-
-
2 วิธีการร้องขอแบบซิงโครนัส
คัดลอกรหัสรหัสดังต่อไปนี้:
$.ajax({
url : 'URL ของคุณ',
ข้อมูล:{ชื่อ:ค่า},
แคช: เท็จ
อะซิงก์ : เท็จ
ประเภท: "โพสต์",
ประเภทข้อมูล : 'json/xml/html',
ความสำเร็จ : ฟังก์ชั่น (ผลลัพธ์) {
ทำบางสิ่งบางอย่าง....
-
-