AJAX (תכנות)

מתוך ויקיפדיה, האנציקלופדיה החופשית

השירות הניסיוני "Google Suggest", של מנוע החיפוש גוגל, המבוסס על AJAX
הגדל
השירות הניסיוני "Google Suggest", של מנוע החיפוש גוגל, המבוסס על AJAX

AJAX, ראשי תיבות של Asynchronous JavaScript And XML, היא טכניקה ליצירת יישומי דפדפן אינטראקטיביים המבוססים על קוד המורץ במסגרת דף HTML בודד, ולא כיישום מרובה דפים, כרגיל בסביבת הווב. מטרתה העיקרית של הטכניקה היא שיפור חוויית המשתמש והאצת מהירות הטעינה של דפי האינטרנט, מאחר והיא מאפשרת לעדכן רק חלקים מבוקשים בדף האינטרנט, ללא צורך לטעון את הדף כולו מחדש במחשבו של המשתמש.

מטרה זו מושגת באמצעות יצירת תקשורת והחלפת מידע בין מחשב הלקוח לשרת דפי האינטרנט באמצעות קוד JavaScript. כלומר, האינטרקטיביות של יישומי AJAX מושגת באמצעות קוד המורץ בצד-הלקוח, זאת בניגוד לשימוש טהור בטכנולוגיות כמו PHP ו-ASP, שבהן הקוד מורץ בצד-השרת, וללקוח מגיע דף HTML סטטי, ולא יישום מלא. באופן זה נמנעת תקשורת מיותרת בין הלקוח לשרת, עומס מיותר על השרת, ושליחת מידע החוזר על עצמו ללקוח.

כאשר משתמשים ב-AJAX עדיין יש צורך בטכנולוגיית צד-שרת כמו PHP או JSP, אלא שבמקום לשלוח דף HTML שלם, נשלח ללקוח רק המידע, והלקוח מפרש את המידע ומציג אותו למשתמש.

דוגמה מוצגת משמאל: גרסה ניסיונית של מנוע החיפוש גוגל המבוססת על AJAX. המיוחד בגרסה זו הוא שעם התחלת הקלדתה של מילה לחיפוש, מוצגות למשתמש מילים מבוקשות נפוצות, בהתאם למידע שנצבר בשרתי גוגל, שמתחילות באותיות שכבר הקיש, כך שיוכל לבחור מתוכן. הדבר מתבצע ללא טעינה מחדש של הדף, אלא על-ידי שליחה של האותיות שכבר הוקלדו, קבלת רשימת מילים מהשרת באופן א-סינכרוני מפעולת המשתמש, והצגת רשימת התוצאות למשתמש.

[עריכה] מרכיביה של טכניקת AJAX

טכניקת AJAX משתמשת בשילוב של טכנולוגיות קיימות:

  • XHTML (או HTML) ו-CSS לסימון ועיצוב מידע.
  • שפת JavaScript למימוש הלוגיקה של היישום, לגישה אל השרת ולאינטרקציה עם המשתמש על-ידי מניפולציה של ה-DOM.
    • אובייקט XMLHttpRequest להחלפת נתונים עם השרת באופן אסינכרוני. בסביבות עבודה אחדות של AJAX ובסיטואציות מסוימות, נעשה שימוש בתגית iframe במקום באובייקט XMLHttpRequest להחלפת מידע עם שרת האינטרנט.
  • XML משמש לרוב ככלי להעברת נתונים מהשרת. כל פורמט אחר יפעל גם כן, כולל HTML או CSV ("טבלות" טקסט המפורדות על ידי פסיקים).

כמו DHTML, ‏LAMP, או SPA, גם ‏AJAX אינה טכנולוגיה לכשעצמה, אלא מונח שמתייחס לשימוש בקבוצת טכנולוגיות יחדיו. למעשה, כבר מופיעות טכנולוגיות נגזרות/מורכבות שמבוססות באופן ממשי על AJAX. כגון AFLAX.

[עריכה] ראו גם

[עריכה] קישורים חיצוניים