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
相关产品推荐
相关产品推荐

