一、AJAX概述

  1. AJAX 全称 asynchronous(异步) javaScript and xml , 在项目中AJAX主要用于通过异步请求的方式与服务器进行交互。 通过在应用中使用AJAX技术给广大的网民用户带来了全新的体验。
  1. AJAX的核心 : 通过使用XHR对象,向服务器发送异步请求。

3异步请求的特点:异步请求响应的是一段字符串文本信息(响应的是网页的局部)。不会造成整张页面的刷新。

4.AJAX不可以进行文件的导出功能,因为导出excel,实际上是文件下载,后台需要往前端(浏览器)写文件流的。而Ajax请求获取数据都是“字符串”,整个交互传输用的都是字符串数据,它没法解析后台返回的文件流,但浏览器可以。

二、使用AJAX开发(原始)

/***  1 创建xhr对象 : 注意浏览器的差异*  IE5 6 或以下 版本 xhr = new ActiveXObject("Microsoft.xmlhttp");*  非 IE5 6 或以下 版本 xhr = new XMLHttpRequest();*/
var xhr;
if(window.ActiveXObject) { // IE5 6 或以下 版本xhr = new ActiveXObject("Microsoft.xmlhttp");
}else {xhr = new XMLHttpRequest();
}
// 2 明确请求目标和请求方式
xhr.open('GET','/AjaxRequest');
// 3 发送请求
xhr.send();
// 4 处理解析响应
xhr.onreadystatechange = function () {/*** 使用xhr对象中的响应内容* xhr在整个运行过程中有自己的状态, 而xhr.readyState的返回值表示整个请求过程的状态:*  0 代表请求还未初始化,还没有调用send方法*  1 代表调用了send方法,发送了请求*  2 请求已经返回了,但是响应的内容还没开始解析*  3 开始解析响应内容了,但还没解析完*  4 完全解析完毕响应内容,我们可以使用了*/if(xhr.readyState==4 && xhr.status==200) {// 代表响应已经完全解析完毕可以使用了// 获取到响应内容var txt = xhr.responseText;console.log(txt);// DOM编程document.getElementById('nameMsg').innerHTML = txt;}
}

三、发送post请求

var strIds = ['1','2','3']
$.ajax({url : "*****",        //后台请求地址type:"post",      //请求方式,post请求 ,可以改成get请求dataType : "json",    //后台返回值类型,一般均为jsondata:{ids:strIds},    //请求后台所带的参数,为键值对traditional : true,  //是否序列化  注:传递类型为数组,则必须加此项为true,否则后端接受不到参数!!!!!async : false,        //是否为异步请求success:function (data) {  //data为 请求后台返回的数据alert(data.status)},err:function () {alert("失败!")}})

注:传递置后端数据类型为数组时,则traditional 必须加此项为true,否则后端接受不到参数!!!!!


注:若不加traditional : true,则需要在后端使用@RequestParam(value="")指定接受参数的类型,如下↓

 @RequestMapping(value = "/****",method = RequestMethod.POST)@ResponseBodypublic Object manyFiling(@RequestParam(value="ids[]")String[] ids, HttpServletRequest request){}

四、使用ajax传递表单数据。

var form = $('#formId').serialize();
$.ajax({url : "*****",        //后台请求地址type:"post",      //请求方式,post请求 ,可以改成get请求dataType : "json",    //后台返回值类型,一般均为jsondata:form,    //请求后台所带的参数,为表单时,只写定义的变量。traditional : true,  //是否序列化  注:传递类型为数组,则必须加此项为true,否则后端接受不到参数!!!!!async : false,        //是否为异步请求success:function (data) {  //data为 请求后台返回的数据alert(data.status)},err:function () {alert("失败!")}})

若传递后台的参数除了表单还有其他参数,则进行数据的拼接,如下↓

  data:form+'&codes='+codes   //不能写{}键值对形式的!

Ajax 传递数组、表单+相关推荐

  1. JQuery Ajax传递整个表单数据方法

    jQuery提倡写更少的代码,做更多的事.jQuery的Ajax是我们经常 用到的一个方法,当需要传递的数据比较少时我们可以一一的整理成 url字符串然后传递给服务器,接受返回的数据.当数据比较多时, ...

  2. Jquery技巧:使用ajax技术提交表单数据

    新建两个页面: 1.show.jsp:调用ajax,将表单中的数据发送给ajax.jsp页面. 2.ajax.jsp:获取show.jsp页面传递的表单数据,并返回结果. 两个页面的编码格式要设置为G ...

  3. 使用ajax提交form表单,包括ajax文件上传 转http://www.cnblogs.com/zhuxiaojie/p/4783939.html...

    使用ajax提交form表单,包括ajax文件上传 前言 使用ajax请求数据,很多人都会,比如说: $.post(path,{data:data},function(data){... },&quo ...

  4. 学习日志day45(2021-09-09)(1、有道翻译API使用json格式数据 2、JSONP 3、Ajax提交form表单 4、Web Uploader)

    学习内容:学习JavaWeb(Day45) 1.有道翻译API使用json格式数据 2.JSONP 3.Ajax提交form表单 4.Web Uploader 1.有道翻译API使用json格式数据 ...

  5. 【js】Ajax提交form表单(ajaxSubmit使用讲解 )

    1 .引入依赖脚本 <script type="text/javascript" src="/js/jquery/jquery.form.js">& ...

  6. ajax如何实现表单验证码,Ajax实现提交表单时验证码自动验证(原创自Zjmainstay)...

    本文通过源码展示如何实现表单提交前,验证码先检测正确性,不正确则不提交表单,更新验证码. 1.前端代码 index.html 验证码提交自验证 用户名 验证码 (function($){ $(docu ...

  7. 利用ajax提交form表单数据

    利用thymeleaf引擎创建的html中,使用了adminLTE模板,ajax提交form表单数据,本以为很容易实现,却遇到了很多问题,这里进行总结. 1.get方式提交 通过serialize() ...

  8. java ajax提交form表单提交_form表单AJAX提交(四种方法)

    一.AJAX的 form表单提交 1.第一种: 序列化提交$('#form').serialize() 前台: $.ajax({ url: "", type: "post ...

  9. 使用原生javascript实现ajax提交form表单

    使用原生javascript实现ajax提交form表单 ============================ 1 准备表单        首先我们需要编写一个html代码,这里我是采用nodej ...

  10. ajax传递数组 用struts2来接收

    版权声明:本文为博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明. 本文链接:https://blog.csdn.net/a78460750/article/de ...

最新文章

  1. U-LanD:基于不确定性的视频地标检测
  2. 【Java】阶乘 素数 循环
  3. python2 队列的使用_python双端队列原理、实现与使用方法分析
  4. map和reduce
  5. 南科大计算机系实力a,五大竞赛学科A+高校排行榜发布!北大实力碾压,科大赶超清华...
  6. c语言函数的使用步骤,c语言打开文件函数使用方法
  7. 湖北省仙桃市2021年高考成绩查询,2021年4月湖北仙桃市自考成绩查询时间和有效期是多久?...
  8. 正本清源:LBS(基于位置服务)技术——高精准IP地址定位的8大误区(上)
  9. 企业微信API学习笔记
  10. 永磁同步电机MTPA与id=0的控制原理
  11. 如何使用 CSS 颜色?
  12. 云服务器搭网站需要买域名吗,买了云服务器还要买域名吗
  13. 微软zone DNS服务器,在DNS服务器上创建DNS zone
  14. (学习笔记) SPI通信协议
  15. psd转换为html模板
  16. Java开发工程师需要掌握哪些技能?
  17. 社交电商模式优化之报单产品
  18. 汽车云算力“竞速”,个性化进阶成新风向
  19. PostgreSQL 变成充气娃娃,怪谁?
  20. python爬虫介绍及其应用

热门文章

  1. 安装Fedora(附镜像下载地址)
  2. 2020年中国研究生数学建模竞赛C题
  3. 03、【电脑维修】防火墙丢失,找不到 windows firewall服务, windows defender firewall服务被禁用或防火墙无法打开
  4. 正态分布,最大值是多少,就是两边的极值?
  5. wpa_supplicant 介绍
  6. Linux内核TC工具链路带宽设计--CBQ队列规定
  7. json进阶---jackson底层之JsonParser理解使用(springboot多结构参数的映射方法的实现思路)
  8. 做外贸找国外采购商的七个新方法
  9. 【CSRF漏洞-01】跨站请求伪造漏洞靶场实战
  10. PHP 图片处理类(水印、透明度、缩放、相框、锐化、旋转、翻转、剪切、反色)...