אג'קס

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

<script type="text/javascript">
    var ajaxResponse;
    var hasError;
    function GetAjax(url,parameters){
        var myAjax;
        try { myAjax = new ActiveXObject('Msxml2.XMLHTTP'); }
        catch (e)
        {
            try { myAjax = new ActiveXObject('Microsoft.XMLHTTP'); }
            catch (e2)
                {
                    try { myAjax = new XMLHttpRequest(); }
                    catch (e3) { alert('could not create ajax object');return; }
                }
        }
        myAjax.onreadystatechange = function()
        {
            if(myAjax.readyState == 4)
            {
                if(myAjax.status == 200)
                {
                    hasError=false;
                    ajaxResponse=myAjax.responseText;
                }
                else
                {
                    hasError=true;
                    ajaxResponse='Error ' + myAjax.status;
                }
                document.getElementById('div_result').innerHTML=ajaxResponse;
            }
        };
        myAjax.open('POST', url, true);
        myAjax.setRequestHeader('Content-type', 'application/x-www-form-urlencoded');
        myAjax.setRequestHeader('Content-length', parameters.length);
        myAjax.setRequestHeader('Connection', 'close');
        myAjax.send(parameters);
    }
</script>

נדאג שיש לנו כזה div בדף

<div id "div_result"></div>

וזהו... פשוט צריך לקרוא לפונקציה עם הכתובת והפרמטרים והיא תעדכן את הdiv  עם התוצאות
אני אישית משתמש ב prototype framework לשם הנוחות, אבל בכל הדוגמאות ניתן להשתמש בסקריפט הנ"ל באותה צורה

טוען נתונים...
אהבתם?
המליצו לאחרים!

נהניתם? בעיות? הערות?
אני רוצה לשמוע!
rss feed