使用window []从另一个文件运行函数

时间:2017-10-17 14:22:24

标签: javascript jquery

所以我有一个简单的ajax帮助程序,它使用以下代码运行我在文件中单独的所有ajax请求:

https://pastebin.com/raw/XQE0xgPD

在该文件中,我正在调用我的函数:

window[proSettings.afterAjax](data, $this);

获取从

传递的函数名称
 afterAjax

好的,所以在另一个文件中,让我们说test.js,其中包含一些jquery来运行我的ajax函数

$('#create-entry').on('submit', function () {
    $(this).proAjax({
        'afterAjax': 'createdTest',
        'alertElement': 'success-message', 
    });
    return false;
});

var createdTest = function(data)
{
    console.log("Hello");
}

现在,当我提交表单时,它会一直提交,直到它到达window函数,这会引发错误:

TypeError: window[proSettings.afterAjax] is not a function

但传递的功能确实存在,当我控制日志时,proSettings.afterAjax发送回createdTest,因为我期待。

现在,如果我在html文件中运行create-entry之上的代码,它的工作方式就是我的预期。如果该代码位于external.js文件中,它就无法工作。

关于如何解决这个问题的任何想法?

0 个答案:

没有答案