通过ajax加载javascript

时间:2013-01-12 00:22:30

标签: javascript jquery ajax

我是AJAX的新手

我有一个网页(比如网页A),按下某个按钮,通过AJAX调用网页B.网页B包含2个javascript文件。现在每当我点击按钮时,都没有加载javascript文件。它的相应CSS文件由AJAX成功加载。这是我在检查后得到的 -

error is on line 7372 in jquery.js

这里出现了我的问题1-如何调用wdm.js? = 一些随机数 ??

现在,对于解决方法,我尝试使用此代码使用jQuery.getScript()函数加载javascript文件 -

$.ajax({
     type: "POST", url: "webpageB.php", data: "id="+id,
         complete: function(data){
                           //some code

                           $.getScript('js/wdm.js');

                           // some code
                }
           });

我现在仍然收到此错误 -

现在我的问题2出现了 - 为什么随机数字出现在ajax GET请求中?

由于某些原因,我不能在网页A上使用javascript,所以剩下的唯一选择是动态加载javascripts(与网页B的DOM元素同步)。有谁能建议一些方法?

url still have that random number

编辑 - 使用函数ajaxsetup确实删除了URL中出现的随机数,但现在我看到文件仍然没有被ajax加载,即使是chrome检查器(我用来监视ajax调用) )不要显示任何错误。现在情况有点复杂。

2 个答案:

答案 0 :(得分:1)

随机数是用于阻止浏览器缓存的时间戳。如果那不是您想要的,请在ajax调用中添加cache : true选项。例如:$.ajax({url: "url", success: callback, cache: true});。如果你想阻止所有未来的AJAX请求被默认缓存(这实际上是jQuery中的默认设置):

$(document).ready(function() {
  $.ajaxSetup({ cache: true });
});

答案 1 :(得分:0)

为什么随机数字出现在ajax GET请求中?

以这种方式应用的这个随机数在其内容中完全没用。它用于缓存清除。基本上,将该查询字符串附加到文件引用将确保永远不会使用该文件的缓存版本。