You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

PHP+JavaScript聊天应用开发报错:Uncaught TypeError: e.preventDefult is not a function

问题解决:表单提交错误与浏览器缓存不更新

1. 修复Uncaught TypeError: e.preventDefult is not a function错误

错误根源是JavaScript代码里的拼写失误:把preventDefault写成了preventDefult(缺少字母a),导致浏览器无法识别该方法。

修正后的JavaScript代码:

const form = document.querySelector(".signup form"),
continueBtn = form.querySelector(".button input");

form.onsubmit = (e)=>{
    e.preventDefault(); // 阻止表单默认提交行为
}
continueBtn.onclick = () =>{
    let xhr = new XMLHttpRequest(); // 创建XMLHttpRequest对象
    xhr.open("POST" , "php/signup.php", true);
    xhr.onload = ()=>{
        if(xhr.readyState === XMLHttpRequest.DONE){
            if(xhr.status === 200){
                let data = xhr.response;
                console.log(data);
            }
        }
    }
    xhr.send();
}

2. 解决浏览器不加载更新后JS文件的问题

这是浏览器缓存机制导致的,浏览器会优先使用本地缓存的旧资源,可通过以下方式解决:

  • 强制刷新页面:按下Ctrl + Shift + R(Windows/Linux)或Cmd + Shift + R(Mac),强制浏览器忽略缓存重新加载所有资源。
  • 给JS文件添加版本参数:修改HTML中JS文件的引用,添加版本号参数,每次更新代码后修改版本号,浏览器就会识别为新文件:
    <script src="javascript/signup.js?v=1"></script>
    
  • 开发时禁用缓存:打开浏览器开发者工具(F12),切换到「网络」面板,勾选「禁用缓存」选项,确保开发过程中每次都加载最新文件。

内容的提问来源于stack exchange,提问作者Rama Za

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.23 21:47:52