18-02-2011, 12:33
|
מנהל פורומי "תכנות ובניית אתרים" ו"חומרה ורשתות"
|
|
חבר מתאריך: 25.10.01
הודעות: 42,775
|
|
מההתחלה.
המטרה שלך היא, בעצם, להציג טופס עריכת פרטים עבור משתמש אחד מתוך כמה שבדף. אמת?
אני אומר שתעשה טופס, שאמור לעבוד ב AJAX מול השרת אחרי מילויו, אם אתה רוצה, בתוך הדף. הטופס כבר יהיה כולו חלק מה HTML, אבל מוחבא כמו שאתה רוצה. יהיו בו השדות שמעניינים אותך.
כשגולש מקליק על משתמש לעריכה, אתה עושה את הדבר הבא:
1. מבצע קריאת AJAX לשרת ל URL מבוקש (שמכיל את ה ID של המשתמש לעריכה). זה לא משנה אם היא ב GET או ב POST (שים לב, לא מדובר על שליחת טופס!)
2. בשרת עצמו, אתה מעבד את כל הפרטים שמעניינים אותך בהקשר לבקשת המידע. את המערך עם הנתונים אתה מקודד עם json_encode (לא לשכוח שהכל צריך להיות ב utf-8), ואת הפלט של json_encode, אתה זורק לקליינט.
3. בקליינט אתה מבצע (var details = eval(xmlHttpObject.responseText
4. יש לך בזאת מערך JS-י שמכיל את כל הפרטים
5. משתמש במערך כדי לעדכן את תוכן השדות בהתאם ל id שהוגדר להם מראש, באמצעות עדכון ה value שלו
הטופס עצמו, לכשישלח, יבנה בקשת AJAX אחרת, שתשלח את כל פרטיו לשרת.
נשמע הגיוני?
נ.ב. שים לב שלא התייחסתי לאלמנטים של אבטחת מידע בהוראות אלה; כלומר וידוא שמבצע הפעולה הוא אכן האדם שגולש באתר, על ידי זה שיש ברשותו מידע שלתוקף לא יכול להיות, ושהתוקף לא יכול לגרום לגולש לשלוח לאתר כחלק מהבקשה [למשל, עוגיות המשמשות להזדהות, וכמובן נשלחות אוטומטית]. זה כבר תרגיל למחשבה בשבילך
|