Simple ajax fake for mockups

Override $.ajax with a method that allows you to make an ajax and pass in a wait time and the results expected back

by CodeRenaissance

JavaScript

var serverData = null;
var serverItemCount = 0;
//Ajax fake
$.ajax = function (options) {
    var ajaxDeferred = new $.Deferred();
    
    serverItemCount = serverItemCount || options.data.itemCount;
    
    setTimeout(function () {
        ajaxDeferred.resolve({ data: options.data.result});
    }, parseInt(options.data.waitTime) || 0);
    
    var promise = ajaxDeferred.promise();
    promise.success = promise.done;
    return promise;
};

$.ajax( {
    url: "/GetMathData",
    data: {waitTime: 500, result: $.map(new Array(500),function(){return Math.random()}) }
}).success(function(result){
    alert("array length = " + result.data.length);
});