אתחיל ואומר שיש שיטות יותר קלות ופשוטות לעשות את זה, אבל….. מה שאראה כאן זה הבסיס.
המטרה: לשלוח או לקבל נתונים מ-api של שרת, זו הפונקציה:
mySuperObj.apiCall = function() {
var xhttp = new XMLHttpRequest();
xhttp.onreadystatechange = function() {
if (this.readyState == 4 && this.status == 200) {
var objJson = JSON.parse(this.responseText)
myUseFnc(objJson);
}
};
xhttp.open("GET", URL, true);
xhttp.send();
}ועכשיו לפירוט:
שורה 2 – יצירה של אוביקט XMLHttpRequest בעל יכולות של תקשורת עם שרת.
שורה 3 – שימוש באחד המתודות של האוביקט onreadystatechange , תפקידה הוא להאזין לשרת לרוץ כל פעם שהסטטוס משתנה.
שורה 4 – בדיקה שהתשובה שחזרה לנו היא 4 (סיום) ו-200 (הצלחה – אין שגיאה).
שורה 5 – המרה של הטקסט שחזר אלינו במבנה JSON לאוביקט בעל מפתחות (KEYS) וערכים (VALUES).
שורה 6 – פונקציה שהמצאתי, שתרוץ ותעשה שימוש במידע שחזר.
שורה 9 – הגדרות של סוג הקריאה: get/post , שם ה-API (הפונקציה והמיקום שלה) שאליו אנחנו רוצים לשלוח את המידע ולקבל ממנו מידע, האם הקריאה סינכרונית או א-סינכרונית (true אומר א-סיכרונית).
שורה 10 – שליחה של הבקשה לשרת.
במידה שמדובר ב-POST אלו השינויים שצריך לעשות:
var params = 'last=rabbit&name=roger';
xhttp.open("POST", URL, true);
xhttp.send(params);זה הכל, לא יותר מידי שינויים (כמובן שיש גם קריאות של PUT, DELETE)
תיהנו והמשך קריאה מהנה





