![]() |
# 1 |
חבר מתקדם
|
בעיה ב AJAX
קוד:
function ajaxsend(url,sid){ alert("start"); if (window.XMLHttpRequest){ // code for IE7+, Firefox, Chrome, Opera, Safari xmlhttp=new XMLHttpRequest(); } else if (window.ActiveXObject) { xmlhttp = new ActiveXObject("Microsoft.XMLHTTP"); } xmlhttp.open("get",url,false); xmlhttp.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded'); var loader= "<img src=\'/images/ajax-loader.gif\'>" xmlhttp.onreadystatechange = function() { if (this.xmlhttp.readyState == 4) { document.getElementById(sid).innerHTML=this.xmlhttp.responseText; alert(sid); } else{ document.getElementById(sid).innerHTML=loader; alert(sid); } } xmlhttp.send(null); } //--> </script> הרעיון בפונקציה בכלליות זה באמצעות לינק לשלוח נתונים בGET ובזמן שהשרת מחזיר תשובה שיופיע תמונת טעינה , הבעיה שהפעולה של שליחת הנתונים מתבצעת ,אך העדכון נתונים לפי המצב של הבקשה בתוך הHTML עצמו לא מתעדכן כלומר בכלל לא נכנס ל IF שדיברתי עליו בהתחלה. מישהו יכול לחשוב על סיבה?
__________________
![]() |
![]() |
![]() |
# 2 |
אין כמו ב127.0.0.1
|
סתם שאלה, למה להסתבך בלהשתמש בזה במקוםלעבוד עם ספריה מוכנה שתומכת בAjax כמו jQuery או prototype?
(האמת שלצורך שימוש שוטף הייתי ממליץ בחום עלjQuery, לעומת זאת לצורך Ajax בלבד prototype יותר טובה) |
![]() |
![]() |
# 3 |
חבר מתקדם
|
ואם בכל זאת...
![]()
__________________
![]() |
![]() |
![]() |
# 4 |
חבר מתקדם
|
אוקיי נמצא
נמצא הפתרון...
למי שזה מעניין אותו... Note: When you use async=false, do NOT write an onreadystatechange function - just put the code after the send() statement:
__________________
![]() |
![]() |
![]() |
# 5 |
אין כמו ב127.0.0.1
|
אממ, Asynchronous JavaScript and XML כשאתה מגדיר async=false זה לא Ajax
![]() ההבדל הוא שAjax ממשיך את פעולת העמוד (ובגלל זה צריך לחכות לסיום התהליך), בעוד בקשה סינכרונית מחכה לתגובה מהשרת ורק לאחר מכן ממשיכה את הפעילות של העמוד. אבל שמח שהסתדרת. |
![]() |
![]() |
חברים פעילים הצופים באשכול זה: 1 (0 חברים ו- 1 אורחים) | |
|
|