caching ajax requests with jQuery

memoization?

by Nick Clarkson

JavaScript

var data = (function() {

    var $data;

    return {
        get: function(options) {

            var success = options.success;

            $.extend(options, {
                success: function(data) {
                    success($data = $(data));
                }
            });

            if (!$data) {
                $.ajax(options);
            } else {
                success($data);
            }
        }
    }
})();


data.get({
    url: '/echo/xml/',
    success: function($d) {

        console.log($d);

    }
});