3

我对 AJAX 还很陌生

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

错误在 jquery.js 的第 7372 行

这里出现了我的问题 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,所以剩下的唯一选择是动态加载 javascript(与网页 B 的 DOM 元素同步)。任何人都可以提出一些方法吗?

url 仍然有那个随机数

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

4

2 回答 2

1

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

$(document).ready(function() {
  $.ajaxSetup({ cache: true });
});
于 2013-01-12T00:25:54.507 回答
0

为什么突然出现的随机数出现在 ajax GET 请求中?

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

于 2013-01-12T00:26:32.370 回答