我怎样才能修复我的模块模式来工作

How can i fix my module pattern to work

我在另一个文件中有一个模块,它基本上应该为我执行我的 ajax 请求(在 ajaxCall.js 中),我正在尝试将此模块添加到全局 window 对象,以便我可以在另一个名为 (basket-page.js) 的文件中使用它,但我收到一条错误消息

Uncaught TypeError: Cannot read property 'process' of undefined(…)

AjaxCall.js

"user strict";
window.ajaxCall = window.ajaxCall || {}
var ajaxCall = (function () {
var api = {
    process: function (destinationUrl, dataToPost, callbackFunction) {
        $.ajax({
            url: destinationUrl,
            data: dataToPost,
            method: "POST",
            dataType: "JSON",
            success: function (data) {
                if (element.length > 0) {
                    callbackFunction(data, element);
                }
            },
            error: function (req, status, errorObj) {
                console.log(status);
            }
        });
    }
}
window.ajaxCall = api;
return api;
})();

篮子-page.js

"use strict";

basket = basket || {};

var basket = (function (ajax) {

    var api = {

        init: function () {
            $("#tblBasket").dataTable({
                bFilter: false,
                pageLength: 10,
                paging: true,
                autoWidth: true,
                columns:
                [
                    { "orderDataType": "dom-text", type: "string" },
                    { "orderDataType": "dom-text-numeric" },
                    null
                ],
                fixedColumns: true
            });
        },

        removeBasketProductRow: function (data, element) {
            if (data === true) {
                element.remove();
            }
        }

    };

    $("#btnRemoveBasketProduct").click(function() {
        var product = $(this).closest("tr");
        var productId = product.attr("id");
        window.ajaxCall.process("/Products/RemoveBasketProduct", productId, api.removeBasketProductRow);
    });

    return api;

})(window);

$(document).ready(function () {
    basket.init();
});

删除所有函数包装。没必要。

"user strict";
window.ajaxCall =  {
    process: function (destinationUrl, dataToPost, callbackFunction) {
        $.ajax({
            url: destinationUrl,
            data: dataToPost,
            method: "POST",
            dataType: "JSON",
            success: function (data) {
                if (element.length > 0) {
                    callbackFunction(data, element);
                }
            },
            error: function (req, status, errorObj) {
                console.log(status);
            }
        });
    }
}

问题是确保我已经加载了我的其他脚本文件,因为这是将对象添加到全局 window 对象的原因。