全网整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:400-708-3566

jQuery异步提交表单实例

前言:

我们在开发的时候,一定会使用ajax异步提交表单,在这里总结一下:

前提准备:引入脚本

 <!--jquery需要引入的文件-->
  <script src="https://ajax.aspnetcdn.com/ajax/jQuery/jquery-3.2.1.js"></script>
  <!--ajax提交表单需要引入jquery.form.js-->
  <script type="text/javascript" src="http://malsup.github.io/jquery.form.js"></script>

前台页面:

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
<!DOCTYPE html>
<html lang="zh">
<head>
  <meta charset="UTF-8">
  <base href="<%=basePath%>" rel="external nofollow" >
  <title>Title</title>
  <!--jquery需要引入的文件-->
  <script src="https://ajax.aspnetcdn.com/ajax/jQuery/jquery-3.2.1.js"></script>
  <!--ajax提交表单需要引入jquery.form.js-->
  <script type="text/javascript" src="http://malsup.github.io/jquery.form.js"></script>
  <script>
    $(function () {
      //给id为ajaxSubmit的按钮提交表单
      $("#ajaxSubmit").on("click",function () {
        //alert(1);
        $("#ajaxForm").ajaxSubmit({
          beforeSubmit:function () {
            // alert("我在提交表单之前被调用!");
          },
          success:function (data) {
            //alert("我在提交表单成功之后被调用");
            if (typeof(data) == "string"){
              data = eval( '('+data+')');
              //alert(data); object
               handle(data);
            }else{
              handle(data);
            }
          }
        });
      });
    });
    //处理返回数据
    function handle(data){
      if(data.status == 200){
        alert(data.message);
        //处理逻辑
      }else{
        alert(data.message);
        //处理逻辑
      }
    }
  </script>
</head>
<body>
<form method="post" action="testAjax" id="ajaxForm">
  姓名:<input type="text" name="name"/><br>
  年龄:<input type="text" name="age"><br>
  性别:男 <input type="radio" value="man" name="sex" checked/> 女 <input type="radio" value="woman" name="sex"/><br/>
  <br><br><br>
  <input type="submit" value="同步提交"/> &nbsp;&nbsp;<input type="reset" value="重置" />
  <br> <br> <br>
  <input type="button" value="点我ajax提交表单" id="ajaxSubmit"/>&nbsp;&nbsp;
</form>
</body>
</html>

后台servlet代码:

package cn.cupcat.controller;
import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class TestAJAXContorller extends HttpServlet{
  /**
   * 
   */
  private static final long serialVersionUID = 1L;
  @Override
  protected void doGet(HttpServletRequest req, HttpServletResponse resp)
      throws ServletException, IOException {
    System.out.println("进入了doGet方法!");
    //调用都doPost方法,get和post做同样处理
    doPost(req, resp);
  }
  @Override
  protected void doPost(HttpServletRequest req, HttpServletResponse resp)
      throws ServletException, IOException {
    System.out.println("进入了doPost方法!");
    //设置请求编码
    req.setCharacterEncoding("UTF-8");
    //设置响应编码
    resp.setCharacterEncoding("UTF-8");
    //得到表单中的name
    String name = req.getParameter("name");
    //得到表单中的age
    String age = req.getParameter("age");
    //得到表单中的sex
    String sex = req.getParameter("sex");
    //输出打印
    System.out.println("name = "+name + " age = " + age +" sex = "+sex);
    String message = "name = "+name + " age = " + age +" sex = "+sex;
    //返回客户端结果
    String result = getResponseResult(200,message);
    //将result返回客户端
    resp.getWriter().print(result);
    //这里可以不用关闭 resp.getWriter()流,由容器负责管理
  }
  //这里为了简单,没有引入处理json的包,这是模拟json数据
  public static String getResponseResult(int status,String message){
    return "{status: "+status+",message: '"+message+"'}";
  }
}

web.xml配置

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://xmlns.jcp.org/xml/ns/javaee" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd" id="WebApp_ID" version="3.1">
 <display-name>upload_demo</display-name>
 <!--  测试ajax servlet开始 -->
 <servlet>
    <servlet-name>testAjax</servlet-name>
    <servlet-class>cn.cupcat.controller.TestAJAXContorller</servlet-class>
 </servlet>
 <servlet-mapping>
    <servlet-name>testAjax</servlet-name>
    <url-pattern>/testAjax</url-pattern>
 </servlet-mapping>
 <!-- 测试ajax servlet结束 -->
 <welcome-file-list>
  <welcome-file>index.html</welcome-file>
  <welcome-file>index.htm</welcome-file>
  <welcome-file>index.jsp</welcome-file>
  <welcome-file>default.html</welcome-file>
  <welcome-file>default.htm</welcome-file>
  <welcome-file>default.jsp</welcome-file>
 </welcome-file-list>
</web-app>

注意:

ajaxSubmit({})的也可以这样设置表单的method、action、表单项

type: 'post', // 提交方式 get/post
 url: 'your url', // 需要提交的 url
 data: {
    'title': title,
    'content': content
  },
 success: function(data) { // data 保存提交后返回的数据,一般为 json 数据
  // 此处可对 data 作相关处理
        alert('提交成功!');
 }

以上所述是小编给大家介绍的jQuery异步提交表单实例,希望对大家有所帮助,如果大家有任何疑问欢迎给我留言,小编会及时回复大家的!


# jquery  # 异步提交表单  # jquery.form.js异步提交表单详解  # JQuery异步提交表单与文件上传功能示例  # jQuery异步提交表单的两种方式  # Jquery异步提交表单代码分享  # Jquery.Form 异步提交表单的简单实例  # jquery下异步提交表单 异步跨域提交表单  # 表单  # 我在  # 小编  # 客户端  # 这是  # 在这里  # 给大家  # 可对  # 所述  # 给我留言  # 有任何  # 提交后  # nofollow  # external  # href  # rel  # id  # ajaxSubmit  # function  # title 


相关文章: c++ stringstream用法详解_c++字符串与数字转换利器  齐河建站公司:营销型网站建设与SEO优化双核驱动策略  公司网站制作价格怎么算,公司办个官网需要多少钱?  寿县云建站:智能SEO优化与多行业模板快速上线指南  如何在腾讯云服务器快速搭建个人网站?  哈尔滨网站建设策划,哈尔滨电工证查询网站?  如何在Tomcat中配置并部署网站项目?  网站视频制作书签怎么做,ie浏览器怎么将网站固定在书签工具栏?  如何选择香港主机高效搭建外贸独立站?  杭州银行网站设计制作流程,杭州银行怎么开通认证方式?  logo在线制作免费网站在线制作好吗,DW网页制作时,如何在网页标题前加上logo?  制作网站哪家好,cc、.co、.cm哪个域名更适合做网站?  建站主机SSH密钥生成步骤及常见问题解答?  怎么制作网站设计模板图片,有电商商品详情页面的免费模板素材网站推荐吗?  如何在云服务器上快速搭建个人网站?  如何通过老薛主机一键快速建站?  巅云智能建站系统:可视化拖拽+多端适配+免费模板一键生成  网站制作专业公司有哪些,如何制作一个企业网站,建设网站的基本步骤有哪些?  如何选择高效稳定的ISP建站解决方案?  网站制作壁纸教程视频,电脑壁纸网站?  c++怎么实现高并发下的无锁队列_c++ std::atomic原子变量与CAS操作【详解】  深圳网站制作公司好吗,在深圳找工作哪个网站最好啊?  佛山企业网站制作公司有哪些,沟通100网上服务官网?  个人摄影网站制作流程,摄影爱好者都去什么网站?  开源网站制作软件,开源网站什么意思?  赚钱网站制作软件,建一个网站怎样才能赚钱?是如何盈利的?  如何通过.red域名打造高辨识度品牌网站?  建站之星手机一键生成:多端自适应+小程序开发快速建站指南  建站之星会员如何解锁更多建站功能?  小建面朝正北,A点实际方位是否存在偏差?  制作网站的模板软件,网站怎么建设?  详解免费开源的DotNet二维码操作组件ThoughtWorks.QRCode(.NET组件介绍之四)  内部网站制作流程,如何建立公司内部网站?  建站之星导航如何优化提升用户体验?  网站网页制作电话怎么打,怎样安装和使用钉钉软件免费打电话?  javascript中对象的定义、使用以及对象和原型链操作小结  c# 在ASP.NET Core中管理和取消后台任务  网站制作免费,什么网站能看正片电影?  网站制作公司排行榜,四大门户网站排名?  ,巨量百应是干嘛的?  定制建站策划方案_专业建站与网站建设方案一站式指南  已有域名和空间,如何快速搭建网站?  建站主机类型有哪些?如何正确选型  用v-html解决Vue.js渲染中html标签不被解析的问题  Avalonia如何实现跨窗口通信 Avalonia窗口间数据传递  外贸公司网站制作,外贸网站建设一般有哪些步骤?  潍坊网站制作公司有哪些,潍坊哪家招聘网站好?  相亲简历制作网站推荐大全,新相亲大会主持人小萍萍资料?  内网网站制作软件,内网的网站如何发布到外网?  如何在Windows环境下新建FTP站点并设置权限? 

您的项目需求

*请认真填写需求信息,我们会在24小时内与您取得联系。