贝利信息

JavaScript如何实现表单提交_AJAX如何发送数据?

日期:2025-12-26 00:00 / 作者:紅蓮之龍
表单提交不跳转页面的核心是用 AJAX 拦截 submit 事件,调用 preventDefault() 阻止刷新,用 FormData 收集数据(支持文件、多选、复选框),再通过 fetch(推荐)或 XMLHttpRequest 发送,自动设置 Content-Type,响应需检查 response.ok 并解析 JSON,提交时禁用按钮、反馈状态,出错显示具体信息。

表单提交不用跳转页面,核心是用 AJAX 拦截默认提交行为,把数据发给后端。关键在阻止 submit 事件、收集表单值、用 fetchXMLHttpRequest 发送,再处理响应。

阻止默认提交并获取表单数据

给表单绑定 submit 事件,调用 event.preventDefault() 阻止页面刷新。再用 new FormData(form) 快速提取所有字段值,它自动适配 inputselecttextarea 和文件上传。

用 fetch 发送 AJAX 请求

fetch 是现代推荐方式,语法简洁、基于 Promise。提交时方法设为 POSTbody 直接传 FormData 实例(浏览器自动设置正确的 Content-Type)。

处理成功与失败反馈

提交后应明确告诉用户结果。常见做法:禁用提交按钮防重复点击、显示加载状态、根据响应更新 UI。

兼容旧浏览器或需要精细控制时用 XMLHttpRequest

如果必须支持 IE10/11,或要监听上传进度,可用 XMLHttpRequest。流程类似:创建实例、配置、监听 load、调用 xhr.send(formData)