Django中实现无刷新更新表单提交按钮文本的问题排查
问题分析:Django表单AJAX提交失效,直接显示JSON响应
你的代码无法实现预期效果,核心原因有以下几点:
1. 未阻止表单默认提交行为
表单的提交按钮类型是type="submit",点击后浏览器会触发默认表单提交流程——直接跳转到表单action指定的地址(这里为空,即当前页面),导致AJAX请求还没完成,页面就已刷新并显示JSON响应,完全跳过了AJAX的回调逻辑。
2. AJAX触发逻辑错误
当前代码是在页面加载完成后自动调用queryData(),而非在点击提交按钮时触发AJAX请求,逻辑完全不符合需求。
3. jQuery语法错误
页面初始化代码里的$document.ready是错误写法,正确应为$(document).ready,少了括号导致这段初始化代码根本不会执行,连自动触发AJAX的逻辑都无法运行。
4. 不必要的无限递归请求
在AJAX的success回调中,你用setTimeout再次调用queryData(),会导致请求成功后每隔1秒自动重复发送POST请求,属于多余逻辑,会造成不必要的服务器压力。
5. 表单数据未正确传递
当前AJAX请求里只传了固定的name: "text",并没有实际获取表单中的用户输入数据(如果后续需要处理表单内容,这会导致后端拿不到真实的提交数据)。
内容的提问来源于stack exchange,提问作者SprintKeyz
相关产品推荐
相关产品推荐

