Skip to content

表单提交和 Ajax 都能把数据送到服务器,差别在「页还在不在」以及「谁来处理响应」。

页面会不会刷新 ​

Ajax 在后台发请求、收响应,当前页还在。表单提交等于放弃当前文档,再要一份新页面——即便 action 指回自己,浏览器也会整页刷新。

请求是谁发起的 ​

Ajax 用 JavaScript 另外建一个 HTTP 请求(现在一般是 fetch 或 XMLHttpRequest)。表单是浏览器自己的导航:组好表单字段,按 method / action 走。

没有 JavaScript 行不行 ​

Ajax 依赖脚本,禁用 JS 就发不出去。表单是浏览器内置能力,没 JS 也能提交。要兜底的页面,表单仍有意义;单页应用则几乎全是 Ajax。

数据谁来处理 ​

Ajax 从发到收都要代码处理:拼 body、设 header、解析 JSON、改 DOM。表单按控件的 name 自动组包,响应则是一整张新 HTML,不用你在前端拆字段。

可以记:要无刷新、要自己决定成功后干什么,用 Ajax;要最朴素的「填完点提交换一页」,用 form。

测试开发工程师 · 专注自动化与系统架构 | 邮箱: hansblog@atumsoul.win