Apr 4, 2013

Current most used JS pattern


var myObject = (function () {
    // private variables
    var ajaxUrl = '/path/to/ajax.html',
        selectorObj,
    // public variables
        obj = {};
    obj.publicVar = '';
    // private methods
    setupEventHandlers = function () {
    };
    // public methods
    obj.init = function () {
        setupEventHandlers();
    };
    return obj;
}());

$(function () {
    myObject.init();
});

Javascript AJAX Wrapper


AJAX Wrapper

var AJAXWrapper = {
    getData: function (ajaxObject) {
        var dfr = $.Deferred();
        ajaxObject.success = dfr.resolve;
        $.ajax(ajaxObject).error(function () {
            alert('Error with AJAX request');
        });
        return dfr.promise();
    }
};

Usage

var ajaxObject = {
    url: "/path/to/data.html",
    data: { email: "my@email.com" },
    dataType: 'html'
};

AJAXWrapper.getData(ajaxObject).then(function (data) {
    console.log(data);
});