שגיאת statusText
-
אני שולח בקשה בajax לשרת
ומקבל את השגיאה הבאהObject {readyState: 4, status: 200, statusText: "load"}
מה פירושו של דבר?
זה הקוד של הפונקציה:$.ajax({ url: "/api/autocomplete/GetByTypedText?UserName=1234", type: "post", dataType:"jsonp", data: $(form).serialize(), cache: false, success: function (returnhtml) { var jsonStr = JSON.stringify(returnhtml); $("#resultSearch").text(jsonStr); }, error: function (returnhtml) { var jsonStr = JSON.stringify(returnhtml); $("#resultSearch").text("error!! " + jsonStr); } });
תודה רבה מראש, וחודש טוב ומבורך לכל עם ישראל
פורסם במקור בפורום CODE613 ב12/11/2015 10:59 (+02:00)
-
למה jsonp?
אתה מחזיר טקסט בתוצאה ולא JSON לכן זה קורהjsonp כיון שאני שולח לשרת אחר (API) ולא לשרת שלי, ולכן הדפדפן לא נותן לשלוח בקשות json לשרת אחר.
מה אתה מתכוון שאני מחזיר טקסט? אני קודם ממיר את הjson לטקסט ואז מציג אותו, זה לא טוב?
איך אני אמור לעשות אחרת?
תודה רבה!פורסם במקור בפורום CODE613 ב12/11/2015 14:17 (+02:00)
-
אתה צריך לדאוג שהסרבר יחזיר תשובה ב JSON או שיפתחו את הסרבר ל CORS עבור ה URL שלך,
קרי: יפתחו את האפשרות לבצע request מדומיין אחר לפונקציה הזו, פשוט הסרבר צריך להוסיף HEADER עם הדומיין שלך או כוכבית בשביל לפתוח לגמרי.Access-Control-Allow-Origin: http://mydomain.com
אם אין לך גישה לסרבר ואין לך אפשרות לשנות את אחד הפרמטרים האלו זה לא יעבוד מצד לקוח
אתה אבל כן יכול לבצע ajax לשרת שלך שיבצע את ה request ב C# ויחזיר לך את התשובהפורסם במקור בפורום CODE613 ב12/11/2015 14:51 (+02:00)