Ajax inside html5 worker

1 באוקטובר 2013

תגיות: , , , , , ,
3 תגובות

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

כתבתי אובייקט קטן העוטף את XMLHttpRequest לשימושים פשוטים כדי שהשימוש יהיה יותר נוח.

דוגמא לשימוש:

Code Snippet
function func1() {
    var ajax = new AjaxRequest({
        url: '/home/list',
        autoSend: true,
        success: function (res) {
            postMessage(res);
        }
    });
}

function func2() {
    var ajax = new AjaxRequest({
        url: '/home/count',
        method: 'post',
        contentType: 'application/json',
        data: JSON.stringify({ ids: ['23', 'abcd'] }),
        success: function (res) {
            postMessage(res);
        }
    });

    ajax.send();
};

הדוגמא הראשונה, מגדירה את ה – url ופונקציה להפעלה אחרי שהמידע חוזר, והגדרה של autoSend כך שלא צריך במפורש לקרוא ל –send, הדוגמא השנייה מציגה post עם שליחת מידע.

להלן רשימת האופציות והמתודות.

Code Snippet
var defOptions = {
    url: ",
    method: 'get',
    data: null,
    async: true,
    autoSend: false,
    success: null,
    error: null,
    contentType: null
};

setRequestHeader = function (header, value);
send = function ();

 

אובייקט AjaxRequest להורדה, פרוייקט MVC עם הדוגמאות.

הוסף תגובה
facebook linkedin twitter email

כתיבת תגובה

האימייל לא יוצג באתר. שדות החובה מסומנים *

3 תגובות

  1. מ9 באוקטובר 2013 ב 5:36

    בקובץ הדוגמא חסר סלושין וגם הVIEWS, א"א להריץ אותו

    הגב
  2. Shlomo9 באוקטובר 2013 ב 20:01

    כי אין שום VIEW, אתה צריך לעשת view in browser לקובץ ה – HTML (הפנייה היא ב – AJAX לשרת)

    הגב
  3. qseopb@gmail.com23 בנובמבר 2013 ב 19:57

    Really appreciate you sharing this blog article. Much obliged.

    הגב