כותב |
|
שדגחדלשחג אורח
הצטרף / הצטרפה: 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 רשוּם
|
|
|
|
שדגחדלשחג כתב:
הצלחתי להתחבר לדף של שרת (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 שהוגדר מראש.
__________________ הורדת סרטונים
|
חזרה לתחילת העמוד |
|
|
שדגחדלשחג אורח
הצטרף / הצטרפה: 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 רשוּם
|
|
|
|
יש לך טעות בקוד. הגדרת את http בתוך הפונקציה send() מה שאומר שזהו משתנה לוקאלי ואתה לא יכול לפנות למשתנה (במקרה הזה הוא כבר אובייקט) דרך פונקציה אחרת (שזה מה שאתה מנסה לעשות בhandlerespone). את ההגדרה של http תעשה מחוץ לפונקציות ככה שיהיה משתנה גלובאלי.
__________________ הורדת סרטונים
|
חזרה לתחילת העמוד |
|
|
:))))))))))) אורח
הצטרף / הצטרפה: 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 רשוּם
|
|
|
|
:) כתב:
אגב למה צריך לשלוח בכותברת את סוג הדפדפן ? ואם המשתמש הוא אל עם הדפדפן הזה ?
|
|
|
אין חובה כזאת. ה user agent מציין את הדפדפן בו משתמש הלקוח, אבל למעשה אין שום צורך בזה במקרה הזה.
__________________ הורדת סרטונים
|
חזרה לתחילת העמוד |
|
|