Javascript 对于我所做的每一个AJAX调用,我都希望重新加载一个新的java脚本

Javascript 对于我所做的每一个AJAX调用,我都希望重新加载一个新的java脚本,javascript,Javascript,基本上,每当有人在这个网站上做任何事情时,我都需要从服务器检索一个新的javascript(这是一个复杂的数学问题,我不关心速度) 我进行AJAX调用,并将其粘贴到浏览器中的标记中,如下所示: getandplaceajax('id=showtotals','main'); // The first is the URL parameter, and the second is the ID of the <div> tag. 如何告诉浏览器重新加载java脚本文件(根据需要强

基本上,每当有人在这个网站上做任何事情时,我都需要从服务器检索一个新的javascript(这是一个复杂的数学问题,我不关心速度)

我进行AJAX调用,并将其粘贴到浏览器中的标记中,如下所示:

getandplaceajax('id=showtotals','main');   // The first is the URL parameter, and the second is the ID of the <div> tag.
如何告诉浏览器重新加载java脚本文件(根据需要强制重新加载)

我试图以交互方式将java脚本加载到页面的这一部分中,但鉴于AJAX在事件链中是异步且不可预测的,这是一种不确定的情况

我没有进行页面加载,因此使用唯一的数字参数引用java脚本(防止缓存)不是一个选项

下星期天,以你的名义,在教堂的祭品盘子里多出50美元,作为解决方案

提前谢谢


Jeff

如果只需要加载JavaScript文件,则无需进行Ajax调用。您只需将一个新的脚本标记附加到页面

var scr = document.createElement("script");
scr.type="text/javascript";
scr.src="myFile.js";
document.body.appendChild(scr)
如果每次调用同一个文件时都需要通过添加querystring值强制它获取新文件

scr.src="myFile.js?ts=" + new Date().getTime();

在服务器上,您可以请求一个php、servlet、.NET页面等,并让它返回JavaScript代码。它不必是js文件。只要将内容类型设置为JavaScript,您的浏览器就不会在意了。

如果您没有使用任何库,您可以使用Facebook正在做的事情


以这种方式加载新脚本。您还可以将脚本标记的
src
更改为类似于
'myfile.js?timestamp='+(new Date()).getTime()
,或者您可以返回带有
标记的javascript并将其放入div中,或者返回javascript并对其求值,与RJS的处理方式类似。

页面加载和以随机数引用脚本之间的关系是什么。您需要的是javascript,主要是逻辑代码还是仅值。前者的调试似乎更复杂,更容易出错,而不是使用JSONs对象或所有数据的ajax调用。
var scr = document.createElement("script");
scr.type="text/javascript";
scr.src="myFile.js";
document.body.appendChild(scr)
scr.src="myFile.js?ts=" + new Date().getTime();
var e = document.createElement('script'); e.async = true;
e.src = document.location.protocol +
  '//connect.facebook.net/en_US/all.js';
document.getElementById('fb-root').appendChild(e);