The Complete Guide Of ASP.NET AJAX

יום רביעי, אוקטובר 27, 2010

בס"ד המדריך המלא ל – ASP.NET AJAX   הורדת המדריך בגרסת PDF.    הורדת קבצי המקור של דוגמאות הקוד שבמדריך. תוכן העניינים: ·        דרישות קדם. ·        מטרת המדריך. ·        מה זה בכלל AJAX. ·        Native AJAX – איך עבדו פעם ואיך הכול מתבצע מאחורי הקלעים. o       עבודה עם XmlHttpRequest. o       קריאה ל – HttpHandler. §        GET....

תקשורת בין דומיינים שונים ב – XJAX בעזרת IE8 באמצעות XDomainRequest

יום חמישי, יוני 3, 2010

   תקשורת בין דומיינים שונים ב - AJAX   בהמשך לפוסטים על IE8 הפעם נדבר על האובייקט XDomainRequest שנותן לנו את האפשרות לתקשר בין דומיינים שונים (מה שאי אפשר לעשות בעזרת XMLHTTPRequest)     כדי שדף אחד יוכל לבקש מידע משרת אחר אותו שרת צריך לאפשר זאת, לדוגמא: נניח שדף מסויים רוצה לפנות ל - Handler שיושב בשרת אחר:   צד שרת: ה - Handler נראה כך:   context.Response.ContentType = "text/plain"; if (context.Request == "name") {     context.Response.Write("Tomer"); } else if (context.Request == "age") {     context.Response.Write("90");   כדי שיוכלו להפעיל את ה - Handler בעזרת XDomainRequest צריך להוסיף את השורה הבאה   context.Response.AddHeader("Access-Control-Allow-Origin", "*");   כמובן שהפרמטר השני לא חייב להיות * אלא יכול להיות דומיין ספציפי שאותו אנחנו רוצים לאשר.     צד לקוח:   <script>     function XDR() {    ...
תגיות: , , , ,
תגובה אחת

History with AJAX in IE8

יום ראשון, מאי 16, 2010

  כיצד לתמוך בלחצני Back ו - Forward כשעובדים עם AJAX בעזרת IE8. לקריאה נוספת על הנושא   הבעייה ידועה: אין תמיכה בלחצני ההיסטוריה של הדפדפן כשעושים פעולות ב - AJAX.     לדוגמא: לפניכם מערכת פשוטה שמביאה שמות של ערים ב - AJAX לפי בחירת שם המדינה.   <select id="country" onchange="FillData(this.value)">     <option value="-1">Select</option>     <option value="Israel">Israel</option>     <option value="USA">USA</option> </select>     <select id="City"> </select>   שני פקדים מסוג select - בזמן שישנו את הראשון ה -select השני אמור לקבל את הערכים שלו ב - AJAX.   הנה ה - JS   function FillData(country) {       if (country.value != "-1") {           var xhr = new XMLHttpRequest();         xhr.onreadystatechange = function() {             if (xhr.readyState == 4 && xhr.status == 200) {    ...
אין תגובות

XMLHttpRequest Enhancements in Internet Explorer 8

יום חמישי, מאי 13, 2010

שינויים שנכנסו ל - AJAX ב - IE8   בהמשך לפוסטים שלי על IE8 הפעם אני אציג תוספת נחמדה לאובייקט XmlHttpRequest. לקריאה נוספת כאן.     ה - XmlHttpRequest קבל מאפיין חדש שנקרא timeout שמאפשר להגדיר כמה זמן נחכה לתשובה לפני שהבקשה תתבטל.   מגדירים את זה בצורה הבאה     var xhr = new XMLHttpRequest(); xhr.open("GET", "url", true); xhr.timeout = 10000;   הגדרנו שבמדה ולא נקבל תשובה במשך 10 שניות הבקשה תתבטל.   חשוב מאוד: אי אפשר להגדיר את המאפיין לפני שקוראים למתודת open.     בנוסף אפשר להרשם לאירוע של ontimeout כמו שאפשר לראות בדוגמת הקוד הבאה.   xhr.ontimeout = function() {     alert("timout"); };
תגובה אחת

XMLHttpRequest vs. PostBack

יום רביעי, אפריל 21, 2010

  זה נכון שכדי לעבוד עם AJAX אנחנו עובדים עם ספריות כמו של ScriptManager או של jQuery, אבל בכל זאת חשבתי לכתוב דוגמא לשימוש ב - XMLHttpRequest לבד.   את הדוגמא אפשר להוריד מכאן.   נניח שיש לנו מסך שנראה כך:   המשתמש יבחר שם - במידה והוא לוחץ על הלחצן server אנחנו ניגש לשרת בצורה רגילה (כלומר PostBack) ונביא נתונים אודות המשתמש. במידה והוא לוחץ על הלחצן xml אנחנו ניגש לשרת בעזרת XMLHttpRequest ונביא את הנתונים.     קוד ה - HTML     <div id='mydiv'></div>   <asp:ListBox ID="name" runat="server">     <asp:ListItem>shlomo</asp:ListItem>     <asp:ListItem>noam</asp:ListItem>     <asp:ListItem>yossi</asp:ListItem> </asp:ListBox>   <asp:Button ID="Button1" runat="server" OnClick="Button1_Click" Text="Server" /> <input id="Button2" type="button" value="xml" onclick="GetHtml()" />       יש לנו handler שיודע להחזיר html לפי פרמטר בשם name - הנה...
תגובה אחת

Send E-mail from javascript using web service – XMLHTTP (in JSON)

יום רביעי, נובמבר 25, 2009

  בהמשך ל - Web Service -> JSON -> JavaScript. קל פשוט ונהדר ו - שליחה של Complex Type ו - Array ל - Web Service בפורמט JSON   רציתי להראות שימוש נחמד בדבר הזה.   אפשר להוריד את הפרויקט - מכאן.   סיפור לקוח: הוא מוציא עבודה לגרפיקאים שמחזירים לו דפי html ו - css שהוא משלב באתר שלו - באותם טפסים יש הרבה פעמים שליחה של מיילים - הוא לא רוצה לקחת את מה שהוא מקבל מהגרפיקאים ולהמיר את זה ל - asp.net, הוא רוצה להשתמש בהם כמו שהוא קיבל - והכי הרבה הוא מוכן לכתוב פונקציית JS שתאסוף את הנתונים מהדף ותשלח אותם...

שליחה של Complex Type ו – Array ל – Web Service בפורמט JSON

יום שני, נובמבר 23, 2009

  בהמשך לפוסט Web Service -> JSON -> JavaScript. קל פשוט ונהדר אני מדגים שם איך לפנות ל - WebSerive ולקבל את התשובות בפורמט JSON,   בפוסט הנוכחי אני אדגים איך פונים ל - WebService שמצפה לקבל טיפוס שהוא לא מה - Primitive Types.   נניח שיש WebService שנראה כך: (לא לשכוח להוריד את ההערה מ - ScriptService - אחרת אי אפשר להפעיל מ - JS)   public class WebService1 : WebService {           public void SetPerson(Person person)     {         // Do Logic.....     } }   public class Person {     public int Id { get; set; }     public string Name { get; set; }     public string Childern...
אין תגובות

חיקוי של AutoComplete של Ajax

יום ראשון, ספטמבר 6, 2009

  אחרי דיון ארוך עם אחד מהקוראים (החביבים) והמגיבים הקבועים שלי (עמירם) כתבתי את הדוגמא הבאה שהיא חיקוי (עלוב) של ה - AutoComplete של Ajax.   הדוגמא מגיעה כדי להראות נכונות של הקוד, ומכאן אפשר לקחת את זה קדימה.   המטרה היא לעשות משהו דומה ל - AutoComplete ב - JavaScript שניגש ל - WebService.     את הדוגמא המלאה ניתן להוריד מכאן. (נ.ב. הדוגמא עובדת רק ב - IE מכיון שב - FF צריך לכתוב את הגישה לשירות בצורה שונה - ותודה לברוך על ההערה)     אז ככה: נתחיל ב - WebService   public class WebService1 : System.Web.Services.WebService {           public string HelloWorld(string prefix)     {         string arr = new string;         for (int...
5 תגובות

Web Service -> JSON -> JavaScript. קל פשוט ונהדר

יום שישי, מרץ 6, 2009

  מיום ליום אני מתעצבן פחות על ה java script, ואני מגלה עוד דברים נהדרים שאפשר לעשות איתו.   כאן אני רוצה להראות, עד כמה זה פשוט מ JavaScript לפנות ל Web Service, לקבל מידע ב JSON, ולעבוד איתו.   שלב ראשון, נכתוב WebService.         1 public class Student     2 {     3     public string Name { get; set; }     4     public string Address { get; set; }     5     public string Phone { get; set; }     6     public int Age { get; set; }     7 }         8         9        10        11        12     public class JsonWebService : WebService    13     {    14     15            16         public Student GetAllStudent()    17         {    18             return new Student    19             {    20        ...
9 תגובות