อยากทราบว่า Ajax เนี่ยมันจะ return progressing ยังไง
เช่นผมส่ง id เป็น json string ไป 10 id ...
{ "1", "2", "3", "4", "5", "6", "7", "8", "9", "10" } //json string
โดยฝั่ง php จะรับค่า แล้วก็เช็ค
function checkAjaxId() {
$ajaxID = json_encode($_POST['id']);
if($ajaxID!=null) {
foreach($ajaxID as $id) {
//do something
if(do something) {
return true;
} else {
return false;
}
}
}
}
ประเด็นคือถ้าฝั่ง ajax โยนชุด id มาเยอะๆ เวลา php return กลับไปมันก็ควรจะ return ครั้งเดียว (หรือจริงๆ แล้วมัน return รัวๆ ได้ อันนี้ไม่ทราบจริงๆ)
มองง่ายๆ คล้ายๆ เวลาเราเขียนระบบส่ง email มันควรจะแจ้งบอก user ด้วยว่า ส่งเมลล์ที่ 1 2 3 .. 100 ผ่านไม๊นะคับ ไม่งั้น user ก็รอเหงือกแห้ง
มันมีวิธีไหนบ้างที่สามารถ return หรือ เช็คได้ว่า แต่ละ id ที่ส่งเข้ามาเป็น true หรือ false โดยไม่ต้อง spam request ไปเรื่อยๆ
แบบระหว่าง loading ก็จะขึ้นว่า
ไอดี 1 success...
ไอดี 2 success...
ไอดี 3 error, please contact admin...
ไอดี 4 success...
ตอนนี้ที่ผมคิดได้คือ การ foreach loop ก่อนส่ง ajax request ไป เรื่อยๆ ถ้ามี 100 ไอดี ก็ส่งมัน 100 ครั้งนั้นแหละ onnew15 ซึ่งผมมองว่ามันเป็นวิธีที่ผิด (น่าจะมีวิธีที่ง่ายกว่านี้ เหมือนวิธีนี้เป็นวิธีสิ้นคิดอะไรประมาณนั้น 555555555+) เลยแวะมาถามนะคับ
ปล. หากพิมพ์โค๊ดช่วงไหนผิดขออภัยนะครับ แบบว่าเขียนสดๆ ไม่ได้ลองรัน อยากจะถามไปประดับความรู้ไว้นะครับ
ปล2. ผมไปหาใน stackoverflow เค้าแนะนำให้ใช้ xmlhttprequest บอกเลยไม่เคยศึกษา 555+
ปล3. ขอบคุณทุกท่านที่สละเวลามาเพิ่มความรู้ให้ครับ เด๋วตอบแทนให้ด้วยแผล่บๆ
ตอบ/อธิบาย