HTML表单AJAX提交怎么写_HTML中使用AJAX提交表单的代码与方法

酷杰大大_7528

酷杰大大_7528

2025-11-20

732人浏览

原创

使用ajax提交表单可避免页面刷新,提升用户体验。1. 创建包含姓名、邮箱字段的html表单,并添加提交按钮;2. 通过javascript监听提交事件,阻止默认行为,用formdata收集数据并转为json,通过fetch发送post请求至服务器;3. 服务端(如php)需读取php://input解析json数据或直接获取$_post值,处理后返回json响应;4. 前端根据响应结果更新页面内容。关键点:阻止默认提交、正确设置请求头与数据格式匹配、后端兼容数据接收方式。

html表单ajax提交怎么写_html中使用ajax提交表单的代码与方法

使用AJAX提交HTML表单可以避免页面刷新,提升用户体验。实现方式是通过JavaScript监听表单提交事件,阻止默认行为,然后使用AJAX将数据发送到服务器。

1. 基本HTML表单结构

先写一个简单的表单,包含几个常用字段:




2. 使用原生JavaScript(fetch)提交表单

推荐使用现代浏览器支持的fetch API来发送AJAX请求。

document.getElementById('myForm').addEventListener('submit', function(e) {
  e.preventDefault(); // 阻止表单默认提交

  const formData = new FormData(this); // 收集表单数据
  const object = {};
  formData.forEach((value, key) => { object[key] = value });

  fetch('/submit-form.php', {
    method: 'POST',
    headers: {
      'Content-Type': 'application/json'
    },
    body: JSON.stringify(object)
  })
  .then(response => response.json())
  .then(data => {
    document.getElementById('result').innerHTML = '提交成功:' + data.message;
  })
  .catch(error => {
    document.getElementById('result').innerHTML = '提交失败:' + error;
  });
});

说明:

  • e.preventDefault() 阻止页面跳转
  • FormData 自动收集表单输入
  • JSON.stringify 将数据转为JSON格式发送
  • 服务端需接收JSON并返回JSON响应

3. 使用jQuery简化AJAX提交(可选)

如果你项目中使用了jQuery,代码会更简洁:

Miller CSV TSV JSON 数据处理器
Miller CSV TSV JSON 数据处理器

Miller (mlr) 是一个命令行工具,用于查询、整形和重新格式化名称索引数据,如 CSV、TSV、JSON 和 JSON Lines。它将 awk、sed、cut、join 和 sort 的功能整合到一个专为结构化数据处理而构建的单一工具中。

下载
$('#myForm').on('submit', function(e) {
  e.preventDefault();

  $.ajax({
    url: '/submit-form.php',
    type: 'POST',
    data: $(this).serialize(), // 自动序列化表单
    success: function(response) {
      $('#result').html('提交成功:' + response.message);
    },
    error: function() {
      $('#result').html('提交失败');
    }
  });
});

注意:$(this).serialize() 发送的是x-www-form-urlencoded格式,适合PHP等后端直接读取$_POST

4. 后端接收示例(PHP)

如果前端发送JSON,后端需解析原始输入:

$data = json_decode(file_get_contents('php://input'), true);
$name = $data['name'];
$email = $data['email'];

// 处理数据...
echo json_encode(['message' => '数据已收到']);

如果是serialize方式提交,可用:

$name = $_POST['name'];
$email = $_POST['email'];
echo json_encode(['message' => '提交成功']);

基本上就这些。关键是阻止默认提交、收集数据、用AJAX发送,并处理响应。根据你的技术栈选择原生JS或jQuery方式即可。不复杂但容易忽略细节,比如请求头和数据格式匹配问题。

前端入门到VUE实战笔记:立即使用
在学习笔记中,你将探索 前端 的入门与实战技巧!

相关文章

HTML速学教程(入门课程)
HTML速学教程(入门课程)

HTML怎么学习?HTML怎么入门?HTML在哪学?HTML怎么学才快?不用担心,这里为大家提供了HTML速学教程(入门课程),有需要的小伙伴保存下载就能学习啦!

下载

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

相关专题

更多
json数据格式
json数据格式

JSON是一种轻量级的数据交换格式。本专题为大家带来json数据格式相关文章,帮助大家解决问题。

2023.08.07

1935

5

json是什么
json是什么

JSON是一种轻量级的数据交换格式,具有简洁、易读、跨平台和语言的特点,JSON数据是通过键值对的方式进行组织,其中键是字符串,值可以是字符串、数值、布尔值、数组、对象或者null,在Web开发、数据交换和配置文件等方面得到广泛应用。本专题为大家提供json相关的文章、下载、课程内容,供大家免费下载体验。

2023.08.23

2542

1

jquery怎么操作json
jquery怎么操作json

操作的方法有:1、“$.parseJSON(jsonString)”2、“$.getJSON(url, data, success)”;3、“$.each(obj, callback)”;4、“$.ajax()”。更多jquery怎么操作json的详细内容,可以访问本专题下面的文章。

2023.10.13

896

3

go语言处理json数据方法
go语言处理json数据方法

本专题整合了go语言中处理json数据方法,阅读专题下面的文章了解更多详细内容。

2025.09.10

2839

7

jquery插件有哪些
jquery插件有哪些

jquery插件有jQuery UI、jQuery Validate、jQuery DataTables、jQuery Slick、jQuery LazyLoad、jQuery Countdown、jQuery Lightbox、jQuery FullCalendar、jQuery Chosen和jQuery EasyUI等。本专题为大家提供jquery插件相关的文章、下载、课程内容,供大家免费下载体验。

2023.09.12

561

5

jquery怎么操作json
jquery怎么操作json

操作的方法有:1、“$.parseJSON(jsonString)”2、“$.getJSON(url, data, success)”;3、“$.each(obj, callback)”;4、“$.ajax()”。更多jquery怎么操作json的详细内容,可以访问本专题下面的文章。

2023.10.13

896

3

jquery删除元素的方法
jquery删除元素的方法

jquery可以通过.remove() 方法、 .detach() 方法、.empty() 方法、.unwrap() 方法、.replaceWith() 方法、.html('') 方法和.hide() 方法来删除元素。更多关于jquery相关的问题,详情请看本专题下面的文章。php中文网欢迎大家前来学习。

2023.11.10

2062

8

jQuery hover()方法的使用
jQuery hover()方法的使用

hover()是jQuery中一个常用的方法,它用于绑定两个事件处理函数,这两个函数将在鼠标指针进入和离开匹配的元素时执行。想了解更多hover()的相关内容,可以阅读本专题下面的文章。

2023.12.04

2068

12

jquery实现分页方法
jquery实现分页方法

在jQuery中实现分页可以使用插件或者自定义实现。想了解更多jquery分页的相关内容,可以阅读本专题下面的文章。

2023.12.06

453

4

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
墨刀帮助中心
墨刀帮助中心

共0课时 | 0人学习

MyEclipse学习中心
MyEclipse学习中心

共0课时 | 0人学习

Apache Subversion 官方手册
Apache Subversion 官方手册

共0课时 | 0人学习