javascript - Ajax 重新加载页面而不是提交请求
问题描述
我有一个 Ajax 脚本,它会导致整个页面重新加载,而无需在脚本中提交请求的 URL。服务器日志将页面 URL 显示为重新提交。添加警报表明该函数正在运行,但嵌入的 URL 似乎被忽略了。单独使用时,脚本中的请求 URL 返回正确的数据。
为什么不应用嵌入式 URL?
同一页面上的另一个 Ajax 脚本使用名为xhttp而不是xfiles的 var 可以正常工作,因此没有冲突。
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();
}
目标是刷新上传文件的小表格。responseText 包含带有链接的表格 html。但这不可能是这里的问题,因为 URL 从一开始就没有提交。
解决方案
Swetank Poddar 实际上有正确的想法……事实证明,这是用户错误。我在 javascript:void(0) 中省略了冒号并不断忽略它。因此 Ajax 运行正常,但链接中的拼写错误导致页面随后重新加载。这一切都太快了以至于不明显,服务器上的数据库将最后处理的命中显示为首先加载页面的链接,这也是重新加载页面的链接。
推荐阅读
- datetime - 在 Go 中如何处理没有日期的挂钟时间?
- c++ - 使用 --call-stack fp 的 perf 记录无法展开主函数
- arrays - PHP:如何在数组的 $_POST 中禁用过滤空值
- python - 如何使用 pyinstaller 将 .py 文件转换为 .exe 文件
- javascript - 尝试将框架 URL 复制到剪贴板并失败(Chrome 扩展)
- react-native - 有什么方法可以使用 react-native-share 与 HEADING 共享 qr-image?
- docker - 准备失败:尝试在 unix:///var/run/docker.sock 连接到 Docker 守护程序套接字时获得权限被拒绝
- python - 如何通过估计/调整参数(R0、R1、R2、C1、C2)在 Python 中将模拟数据与电池的实验数据相匹配
- python - 如何在 PyQt5 中使用 pymupdf 读取 pdf 文件?
- javascript - Angular 应用程序中的引导程序 5