Ajax上的动态JavaScript文件请求创建冲突

时间:2013-01-10 09:57:58

标签: javascript ajax asp.net-mvc-3

我正在使用MVC3大量使用ajax来获取部分视图。如果部分视图包含JavaScript,则将其添加为新的js文件,如快照:

中所示

Dynamic JS files on ajax calls

所以如果我有一个js函数:

function checkValue(){
   //do work
}

在ajax调用时会添加一个包含此函数的新动态JS文件,它与旧的一次冲突。

myfile.js包含:

function checkValue(){
   //do work
}

和1.js(动态文件)也将包含它

function checkValue(){
   //do work
}

所以当我因为存在于旧文件中而调用它时,它会调用已经过时的function。如何解决这种情况,比如新的JavaScript替换旧的。

由于

1 个答案:

答案 0 :(得分:2)

您可以检查某些内容是否已定义,并且只有在未定义的情况下才重新定义:

var checkValue = checkValue || function () {
     //do work
};

如果您希望定义覆盖彼此而不是使用名称定义函数,请每次在全局对象上定义它们:

window.checkValue = function () {
     //do work
};