WCF and CORS

יום רביעי, מאי 11, 2016

בעיית ה – Cross domain היא בעיה ידועה ומוכרת אשר חוסמת פניות AJAX מדומיין אחד לדומיין שני ללא הרשאות מפורשות, כאשר מארחים WCF על IIS, ניתן לפתור את הנושא בעזרת הוספת Headers רלוונטיים ב – Web.config, לעומת זאת כאשר מארחים WCF ב – Windows Service לדוגמא, הדברים קצת מסתבכים. לפני הכול נסביר את הבעיה של Cross domain, התשובה שנשלפת מהמותן  לשאלה של “מה הבעייה” היא “בעיית אבטחה”, אבל עם טיפה מחשבה, נבין שלכאורה אין שום בעיה מ – AJAX לפנות לשרת שלנו שיהווה פרוקסי והוא יפנה לשרת המרוחק, ואז אין שום בעייה (הרי כך עובד כל Web Service) אז...
אין תגובות

Authentication and Ajax

יום חמישי, ינואר 22, 2015

לקוח תיאר לי את הבעייה הבאה, “יש לי אתר שעובד ב – forms authentication, וה – timeout מוגדר עשרים דקות (ברירת המחדל היא 30), כמובן שבצורה אוטומטית ברגע שהמשתמש לוחץ על לחצן הפונה לשרת, לאחר שהזמן תם, הוא מועבר לדף הלוגין. לאחרונה עברנו לעבודה עם ajax, תוך שימוש ב – angular ו – singal page application, מה שקורה שברגע שהמשתמש לוחץ על לחצן (שעכשיו עושה פניית ajax) במידה שעברו ה – 20 דקות, התשובה מהשרת היא דף ה – html של הלוגין – אבל המשתמש לא רואה כלום, מכיוון שלא חזרה תשובת אין הרשאות לדפדפן” הבעייה שלו היא די...
תגיות: , , , ,
אין תגובות

AngularJS – todolist

יום שני, דצמבר 22, 2014

בפוסט זה נלמד מספר דברים בסייסים על עבודה עם אנגולר,  הפוסט יציג דוגמה לניהול רשימת משימות (todo list) עם היכולות הבאות: רשימת המשימות תגיע ב – ajax מהשרת. כל משימה יש לה טקסט והאם היא בוצעה. ניתן להוסיף משימות חדשות. ניתן לסמן האם המשימה בוצעה או לא. ניתן להסתיר את המשימות שבוצעו. המשימות יהיו מסודרים ברשימה ממויינת. הדמו עצמו נלקח חלקית מהאתר של angular וברובו מתוך הספר (המדהים) Pro AngularJS. חשוב לציין העיצוב בדוגמאות הבאות מבוססות Bootstrap, ואני לא מסביר אותם במהלך הפוסט. ניתן להוריד את הדוגמה המלאה מכאן, (צד השרת מבוסס ASP.NET...
4 תגובות

שליחת אובייקטים עם תתי אובייקטים ב – ajax לשרת

יום שבת, מרץ 22, 2014

כדי לשלוח אובייקט מצד לקוח לצד שרת ב – ajax, בעזרת jQuery זה די פשוט, בהנחה שיש לנו אובייקט בשם Person בצד השרת ו – action שמקבל אותו – הקוד ייראה ככה: Code Snippet public class Person{    public int Id { get; set; }    public string Name { get; set; }    public int Age { get; set; }} Code Snippet public ActionResult Update(Person model){} נוכל בצד לקוח לפנות בעזרת jQuery לשרת ולשלוח את המידע כך: Code Snippet var obj = {    id: 1,    name: 'shlomo',    age:29};$.post('/home/save', obj);   אבל במידה שהאוביקט בצד שרת...
תגיות: , , , , , ,
תגובה אחת

Ajax inside html5 worker

יום שלישי, אוקטובר 1, 2013

אחד מהדברים שפחות עושים ב – Worker זה פנייה לשרת ב – ajax. אבל יש מקרים שבהם עושים זאת, הבעייה עם אותם מקרים, שלא ניתן להשתמש ב – jQuery ajax מכיוון ש – jQuery הינה ספריית DOM ואין גישה ל – UI בתוך ה – worker, הפיתרון הפשוט (או המסובך) זה כמובן להשתמש ב – XMLHttpRequest – אבל זה בהחלט לא יהיה כיף. כתבתי אובייקט קטן העוטף את XMLHttpRequest לשימושים פשוטים כדי שהשימוש יהיה יותר נוח. דוגמא לשימוש: ...
תגיות: , , , , , ,
3 תגובות

Static google map creator

יום שלישי, יולי 30, 2013

חבר טוב שלי בקש שאצור לו דף html פשוט המאפשר להכניס קצת הגדרות עבור google maps ולקבל תמונה סטטית של המפה. כל הקוד נמצא כאן. הדף יראה כך: המשתמש יכניס כתובת, יגדיר את ההגדרות וילחץ על צור מפה, התוצאה תהיה התמונה שאנחנו רואים. בלינק להורדת קוד המקור תוכלו לראות את קוד ה – html, כאן נראה את הקוד שרץ בזמן לחיצה. (הקוד מתבסס על jquery, ועל ספרייה המאפשרת קוד בסגנון string.format וכמובן הסקריפט של גוגל) ...
תגיות: , , , , , ,
תגובה אחת

שליחת חלק מה – html למייל.

יום רביעי, מרץ 6, 2013

בעבר כתבתי על שליחת דף html מצורף למייל, כשהטכנולוגיה השלטת הייתה asp.net web forms, היום העולם כמובן השתנה, ואנחנו עובדים הרבה בצד הלקוח. הדרישה הנוכחית הייתה לשלוח קטע html מסויים למייל ללקוח. במידה ומספיק לשלוח את ה – html, ללא עיצוב הכול יותר פשוט, נניח שיש לנו את ה – html שנותן את התוצאה הבאה:   בלחיצה על הלחצן נכתוב את הקוד הבא: (בהנחה שאתם מכירים jQuery) ...
תגיות: , , , , ,
2 תגובות

DateTime in JSON

יום שבת, ינואר 12, 2013

אחד הדברים המעצבנים בעבודה עם ajax, זה הדרך שבה חוזר אובייקט DateTime. בהנחה שהאובייקט נראה כך:   Code Snippet public class Person {     public int MyProperty { get; set; }     public DateTime Time { get; set; } }   ויש לנו Action הנראה כך:   Code Snippet public JsonResult GetPerson() {     return Json(new Person()     {         MyProperty = 2,         Time = DateTime.Now     }, JsonRequestBehavior.AllowGet); }   כשנקרא ל – action בעזרת jQuery ajax:   Code Snippet var personFromServer = null; // Get data from server $.getJSON('home/GetPerson', function (data) {     personFromServer = data; });   מה שנקבל בחזרה יראה:   Code Snippet personFromServer = {     MyProperty: 2,     Time: "/Date(1358020217238)/"...
אין תגובות

The length of the string exceeds the value set on the maxJsonLength property

יום רביעי, יולי 11, 2012

קבלתי שאלה במייל אודות פנייה ב – ajax לשרת (web method) שלוקלית הכול עובד אבל בשרת משום מה זה לא עובד/ אחרי קצת דיבגינג של שואל השאלה, התברר שההבדל בין השרת ללוקלי, הוא בכמות המידע החוזר, ברגע שהוא הגיע למסקנה הזו, נזכרתי שיש מאפיין שמגדיר מה יהיה הגודל המקסימלי של ה – JavaScriptSerializer המאפיין נקרא maxJsonLength. כדי להגדיר את המאפיין עבור asp.net ajax, ניתן להגדיר בקונפיג את המקטע הבא: <system.web.extensions> ...
אין תגובות

טבעת בלוגים – שלום עולם

יום שבת, יולי 7, 2012

רון קליין יצא במיזם שנקרא שלום עולם, מטרת המיזם היא לעזור לבלוגרים הכותבים בעברית לפרסם את הפוסטים שלהם. לקריאה ומידע נוסף – בבלוג של רון. מי ששם לב – בצד ימין ברשימת הלינקים הוספתי "טבעת בלוגים" המכיל לינקים לשני פוסטים מהקהילה. לבלוגרים הכותבים בעברית בפלטפורמת הבלוגים של מייקרוסופט, כך תוכלו להצטרף למיזם. גלשו לאתר הבלוגים, פתחו את ה – Control Panel, לחצו על My Blogs, כעת לכו כל Global Settings, ובסוף לחצו על Title Description and News. גללו באתר לסוף העמוד – שם יש מקטע בשם "Raw Header" – במקטע זה ניתן להוסיף קטעי...
תגיות: , ,
2 תגובות