前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >专栏 >异步提交表单_js异步提交表单并回调

异步提交表单_js异步提交表单并回调

作者头像
全栈程序员站长
发布2022-11-17 16:46:55
发布2022-11-17 16:46:55
11.8K00
代码可运行
举报
运行总次数:0
代码可运行

异步提交表单

异步提交表单的步骤

所谓异步提交表单,就是不再使用表单的提交按钮实现表单的提交功能,而是通过Ajax异步交互方式实现表单提交。具体实现步骤如下:

  1. 获取表单及所有表单组件对应的数据值。
  2. 将所有表单组件对应的数据值拼成特定格式的字符串或是JSON格式数据。
  3. 通过Ajax异步交互方式提交表单。
代码语言:javascript
代码运行次数:0
运行
复制
var info = 'username='+$('#username').val()+'&password='+$('#password').val();
$.ajax({ 
   
    url: "server.js',
    type: 'post',
    data: info,
    success: function(data){ 
   
    	console.log(data);
	}
});

Jetbrains全家桶1年46,售后保障稳定

异步提交表单的案例

JSON文件

代码语言:javascript
代码运行次数:0
运行
复制
{ 
     
  "username": "zhangsan",
  "password": "123456",
  "msg": "登录成功!"
}

HTML文件

代码语言:javascript
代码运行次数:0
运行
复制
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>异步提交表单</title>
<style> input { 
 display: block; margin-bottom: 10px; } </style>
</head>
<body>
<form action="">
用户名:<input type="text" id="username" /> 密码:<input type="password" id="password" />
<input type="submit" />
</form>
<script src="js/jquery-1.12.4.js"></script>
<script> var $form = $("form"); var $username = $("#username"); var $password = $("#password"); $form.bind("submit", function (event) { 
 // 阻止表单默认的同步提交 event.preventDefault(); // 1. 获取表单组件的数据内容 var username = $username.val(); var password = $password.val(); // console.log(username); // console.log(password); // post请求方式 $.get("data/server5.json", { 
 username }, function (response) { 
 // console.log(response); var usernameJson = response.username; var passwordJson = response.password; if (username === usernameJson && password === passwordJson) { 
 alert("登录成功!"); } else { 
 alert("用户名或密码错误"); } }); }); </script>
</body>
</html>

效果图

表单序列化

  1. serialize()方法: 将表单组件对应的数据值序列化为指定格式的字符串内容。
代码语言:javascript
代码运行次数:0
运行
复制
$('form').serialize()

serializeArray()方法: 将表单组件对应的数据值序列化为JSON格式的数据内容。

代码语言:javascript
代码运行次数:0
运行
复制
$('select, :radio').serializeArray()

代码演示

代码语言:javascript
代码运行次数:0
运行
复制
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>表单序列化</title>
<style> input { 
 display: block; margin-bottom: 10px; } </style>
</head>
<body>
<form action="">
用户名:<input type="text" name="username" id="username" /> 密码:<input type="password" name="password" id="password" />
<input type="submit" />
</form>
<script src="js/jquery-1.12.4.js"></script>
<script> var $form = $("form"); var $username = $("#username"); var $password = $("#password"); $form.bind("submit", function (event) { 
 // 阻止表单默认的同步提交 event.preventDefault(); // 表单序列化 - 根据表单默认同步提交获取数据的方式 // var data = $("form").serialize(); // console.log(data); var data = $("form").serializeArray(); console.log(data); // post请求方式 $.get("data/server5.json", data, function (response) { 
 console.log(response); }); }); </script>
</body>
</html>

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/220323.html原文链接:https://javaforall.cn

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022年10月28日,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 异步提交表单
    • 异步提交表单的步骤
    • 表单序列化
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档