所以我有一个简单的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文件中,它就无法工作。
关于如何解决这个问题的任何想法?