נושאים פעיליםנושאים פעילים  הצגת רשימה של חברי הפורוםרשימת משתמשים  חיפוש בפורוםחיפוש  עזרהעזרה
  הרשמההרשמה  התחברותהתחברות RSS עדכונים
תיכנות
RSS UnderWarrior Forums : RSS תיכנות
נושא

נושא: עזרה AJAX

שליחת תגובהשליחת נושא חדש
כותב
הודעה << נושא קודם | נושא הבא >>
שדגחדלשחג
אורח
אורח


הצטרף / הצטרפה: 01 October 2003
משתמש: אונליין
הודעות: 12647
נשלח בתאריך: 12 February 2008 בשעה 00:26 | IP רשוּם
ציטוט שדגחדלשחג

הצלחתי להתחבר לדף של שרת (ASP) ולקבל תגובה והכול עם GET אבל לא מצליח עם פוסט חיפשתי הרבה דוגמאות וזה וכלום לא עבד לי , גם קראתי את המדריך באתר
מישהו יכול להביא לי דוגמה איך לעשות את זה ? מספיק לי הדבר הכי פשוט , נגיד והדפדפן הוא EXPLORER , כך שאין צורך לבדוק איך ליצור את האובייקט ב JS , נגיד שדה אחד שרשומים בו משהו ואז השרת מדפיס "Hello" + input ...
אני מדגיש שוב אני צריך את זה עם POST ולא GET כי GET כבר הצלחתי
תודה מראש לכול העזורים
חזרה לתחילת העמוד הצג את כרטיס החבר של שדגחדלשחג חפש הודעות אחרות של שדגחדלשחג בקר בדף הבית של שדגחדלשחג
 
idan
משתמש פעיל
משתמש פעיל


הצטרף / הצטרפה: 18 November 2007
משתמש: מנותק/ת
הודעות: 110
נשלח בתאריך: 12 February 2008 בשעה 03:00 | IP רשוּם
ציטוט idan

שדגחדלשחג כתב:
הצלחתי להתחבר לדף של שרת (ASP) ולקבל תגובה והכול עם GET אבל לא מצליח עם פוסט חיפשתי הרבה דוגמאות וזה וכלום לא עבד לי , גם קראתי את המדריך באתר
מישהו יכול להביא לי דוגמה איך לעשות את זה ? מספיק לי הדבר הכי פשוט , נגיד והדפדפן הוא EXPLORER , כך שאין צורך לבדוק איך ליצור את האובייקט ב JS , נגיד שדה אחד שרשומים בו משהו ואז השרת מדפיס "Hello" + input ...
אני מדגיש שוב אני צריך את זה עם POST ולא GET כי GET כבר הצלחתי
תודה מראש לכול העזורים

בגדול, כשאתה מבצע "פתיחה" (open) לאובייקט xmlhttp אתה צריך במקום get לכתוב post ולהוסיף עוד היידר (header) עם הערך של אורך הטקסט שאתה רוצה לשלוח, ובסוף להוסיף לפקודה send את הטקסט עצמו בתוך סוגריים.
דוגמא תסביר את זה הכי טוב:
קוד:
var postvalue='bla=blablabla';
http.open('POST', 'page.asp',true);
http.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
http.setRequestHeader("Content-length", postvalue.length);
http.setRequestHeader("User-Agent","Mozilla/5.0");
http.onreadystatechange = handleResponse;
http.send(postvalue);   

המשתנה http זה אובייקט xmlhttp שהוגדר מראש.


__________________
הורדת סרטונים
חזרה לתחילת העמוד הצג את כרטיס החבר של idan חפש הודעות אחרות של idan
 
שדגחדלשחג
אורח
אורח


הצטרף / הצטרפה: 01 October 2003
משתמש: אונליין
הודעות: 12647
נשלח בתאריך: 12 February 2008 בשעה 03:24 | IP רשוּם
ציטוט שדגחדלשחג

זהו עשיתי ככה וזה אל עובד

הנה כול הקוד :
get.html
קוד:

<html xmlns="http://www.w3.org/1999/xhtml">
    <head>
        <title></title>
        <script type="text/javascript">
            function send()
            {
                alert("1");
                var http = new XMLHttpRequest();
                var postvalue='bla=blablabla';
                http.open('POST', 'get.asp',true);
                alert("2");
                http.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
                http.setRequestHeader("Content-length", postvalue.length);
                http.setRequestHeader("User-Agent","Mozilla/5.0");
                alert("3");
                http.onreadystatechange = handleResponse;
                http.send(postvalue);
                alert("4");
            }
            function handleResponse()
            {
                alert("5");
                if(http.readyState == 4){
                    alert("6");
                    alert(http.responseText);
                }
            }
        </script>
    </head>
    <body>
        <form action="" method="post">
            <input type="text" name="i" id="i" />
        </form>
        <button onclick="send();">Send</button>
    </body>
</html>


get.asp

קוד:

<%
    Response.Write("a");
%>


בדקתי את זה עם שרת IIS ודפדפן FIREFOX עם JAVASCRIPT מופעל
חזרה לתחילת העמוד הצג את כרטיס החבר של שדגחדלשחג חפש הודעות אחרות של שדגחדלשחג בקר בדף הבית של שדגחדלשחג
 
idan
משתמש פעיל
משתמש פעיל


הצטרף / הצטרפה: 18 November 2007
משתמש: מנותק/ת
הודעות: 110
נשלח בתאריך: 12 February 2008 בשעה 21:24 | IP רשוּם
ציטוט idan

יש לך טעות בקוד. הגדרת את http בתוך הפונקציה send() מה שאומר שזהו משתנה לוקאלי ואתה לא יכול לפנות למשתנה (במקרה הזה הוא כבר אובייקט) דרך פונקציה אחרת (שזה מה שאתה מנסה לעשות בhandlerespone). את ההגדרה של http תעשה מחוץ לפונקציות ככה שיהיה משתנה גלובאלי.

__________________
הורדת סרטונים
חזרה לתחילת העמוד הצג את כרטיס החבר של idan חפש הודעות אחרות של idan
 
:)))))))))))
אורח
אורח


הצטרף / הצטרפה: 01 October 2003
משתמש: אונליין
הודעות: 12647
נשלח בתאריך: 12 February 2008 בשעה 22:26 | IP רשוּם
ציטוט :)))))))))))

איזה טעות של מתחילים :) עכשיו זה עובד תודה
חזרה לתחילת העמוד הצג את כרטיס החבר של :))))))))))) חפש הודעות אחרות של :))))))))))) בקר בדף הבית של :)))))))))))
 
:)
אורח
אורח


הצטרף / הצטרפה: 01 October 2003
משתמש: אונליין
הודעות: 12647
נשלח בתאריך: 12 February 2008 בשעה 22:27 | IP רשוּם
ציטוט :)

אגב למה צריך לשלוח בכותברת את סוג הדפדפן ? ואם המשתמש הוא אל עם הדפדפן הזה ?
חזרה לתחילת העמוד הצג את כרטיס החבר של :) חפש הודעות אחרות של :) בקר בדף הבית של :)
 
idan
משתמש פעיל
משתמש פעיל


הצטרף / הצטרפה: 18 November 2007
משתמש: מנותק/ת
הודעות: 110
נשלח בתאריך: 12 February 2008 בשעה 23:19 | IP רשוּם
ציטוט idan

:) כתב:
אגב למה צריך לשלוח בכותברת את סוג הדפדפן ? ואם המשתמש הוא אל עם הדפדפן הזה ?

אין חובה כזאת.
ה user agent מציין את הדפדפן בו משתמש הלקוח, אבל למעשה אין שום צורך בזה במקרה הזה.


__________________
הורדת סרטונים
חזרה לתחילת העמוד הצג את כרטיס החבר של idan חפש הודעות אחרות של idan
 

אם ברצונך להגיב לנושא זה עליך קודם להתחבר
אם אינך רשום/ה כבר עליך להרשם

  שליחת תגובהשליחת נושא חדש
גרסת הדפסה גרסת הדפסה

קפיצה לפורום
אינך יכול/ה לשלוח נושאים חדשים בפורום זה
אינך יכול/ה להגיב לנושאים בפורום זה
אינך יכול/ה למחוק את הודעותיך ותגוביך בפורום זה
אינך יכול/ה לערוך את הודעותיך ותגובותיך בפורום זה
אינך יכול/ה לצור סקרים בפורום זה
אינך יכול/ה להצביע בסקרים בפורום זה