我有一个Ajax脚本,它会导致整个页面重新加载,而无需在脚本中提交请求的URL。服务器日志显示页面 URL 正在重新提交。添加警报表明函数正在运行,但嵌入的 URL 似乎被忽略了。单独使用时,脚本中的请求 URL 将返回正确的数据。
为什么不应用嵌入的 URL?
同一页面上的另一个 Ajax 脚本使用名为xhttp而不是xfiles的变量工作正常,因此没有冲突。
function rlist() {
var xfiles = new XMLHttpRequest();
xfiles.onreadystatechange = function() {
if (this.readyState == 4 && this.status == 200) {
document.getElementById("filelist").innerHTML =
this.responseText;
}
};
xfiles.open("GET", "/cgi-bin/cnc.cgi?precert~patients~rlist~813527153~0975184859230735~~6306919737~622156596S", true);
xfiles.send();
}
目标是刷新上传文件的小表。响应文本包含带有链接的表 html。不过,这不可能是这里的问题,因为 URL 从一开始就没有提交。
Swetank Poddar 其实有个正确的主意......事实证明,这是用户错误。我在javascript:void(0(中省略了冒号,并不断忽略它。因此,Ajax运行正常,但链接中的拼写错误导致页面随后重新加载。这一切都是如此之快,以至于它并不明显,服务器上的数据库显示上次处理的命中作为首先加载页面的链接,这也是重新加载它的链接。