一、服务端数据格式

1.自定义po类

package com.hbut.ssm.po;/*** pojo类**/
public class Children {private String name;private Integer age;private String gender;public Children(String name, Integer age, String gender) {super();this.name = name;this.age = age;this.gender = gender;}public String getName() {return name;}public void setName(String name) {this.name = name;}public Integer getAge() {return age;}public void setAge(Integer age) {this.age = age;}public String getGender() {return gender;}public void setGender(String gender) {this.gender = gender;}}

2.controller准备需要返回的数据

    //测试json的输出@RequestMapping(value="/getChildrenList")public @ResponseBody List<Children> getChildrenList(HttpServletRequest request){System.out.println("获取前端的参数:"+request.getParameter("name"));List<Children> childrenList= new ArrayList<Children>();childrenList.add(new Children("张三", 25, "男"));childrenList.add(new Children("李四", 28, "男"));childrenList.add(new Children("小红", 22, "女"));return childrenList;}

二、ajax请求并解析数据


方式1:不带参数  $ajax(url,callback),即第一个参数是请求的url,第二个参数是回调用函数,json数据封装在result,需要对result的json数据进行解析

     $(document).ready(function(){$("button").click(function(){$.ajax({url:"http://localhost:8080/ssm01/getChildrenList.action",success:function(result){//eval函数解析json数据var array=eval(result);var texts="解析json数据如下:<br>";for(var i=0;i<array.length;i++){texts+=array[i].name+"--"+array[i].age+"---"+array[i].gender+";<br>";}$("#div1").html(texts);}});});});

方式2:带参数  $.post(url,data,callback),即第一个参数是请求的url,第二个参数是请求参数,第三个参数是回调用函数,json数据封装在result,需要对result的json数据进行解析

     $(document).ready(function(){$("button").click(function(){$.post("http://localhost:8080/ssm01/getChildrenList.action",{name:"菜鸟教程",url:"http://www.runoob.com"},function(data,status){//eval函数解析json数据var array=eval(data);var texts="解析json数据如下:<br>";for(var i=0;i<array.length;i++){texts+=array[i].name+"--"+array[i].age+"---"+array[i].gender+";<br>";}$("#div1").html(texts);});});});


测试结果如下:


方式三:请求为json方式,请求的参数格式json,返回的是json(与上面请求url不一样,原理类似)

//请求json,输出是json
function requestJson(){$.ajax({type:'post',url:'${pageContext.request.contextPath }/requestJson.action',contentType:'application/json;charset=utf-8',//数据格式是json串,商品信息data:'{"name":"手机","price":999}',success:function(data){//返回json结果alert(data);}});}

方式四:请求为key、value方式,返回的是json,(与上面请求url不一样,原理类似)

//请求key/value,输出是json
function responseJson(){$.ajax({type:'post',url:'${pageContext.request.contextPath }/responseJson.action',//请求是key/value这里不需要指定contentType,因为默认就 是key/value类型//contentType:'application/json;charset=utf-8',//数据格式是json串,商品信息data:'name=手机&price=999',success:function(data){//返回json结果alert(data.name);}});}

ajax的常见几种写法以及用法相关推荐

  1. ajax请求有多少种写法,Ajax 请求的三种写法

    Ajax 请求简介: Ajax 即"Asynchronous Javascript And XML"(异步 JavaScript 和 XML),是指一种建立交互式网页应用的网页开发 ...

  2. Ajax 请求的三种写法

    Ajax 请求简介: Ajax 即"Asynchronous Javascript And XML"(异步 JavaScript 和 XML),是指一种创建交互式网页应用的网页开发 ...

  3. Verilog状态机常见三种写法

    1.1理论   Verilog状态机又称同步状态机(FSM,Finite State Machine),一般又叫状态机,在Verilog描述电路中大部分是同步执行(并行)的,但是很多时候需要处理明显具 ...

  4. Javascript闭包和闭包的几种写法及用途

    好久没有写博客了,过了一个十一长假都变懒了,今天总算是恢复状态了.好了,进入正题,今天来说一说javascript里面的闭包吧!本篇博客主要讲一些实用的东西,主要将闭包的写法.用法和用途.  一.什么 ...

  5. 全面理解Javascript闭包和闭包的几种写法及用途【转】

    一.什么是闭包和闭包的几种写法和用法 1.什么是闭包 闭包,官方对闭包的解释是:一个拥有许多变量和绑定了这些变量的环境的表达式(通常是一个函数),因而这些变量也是该表达式的一部分.闭包的特点: 1. ...

  6. 全面理解Javascript闭包和闭包的几种写法及用途

     一.什么是闭包和闭包的几种写法和用法 1.什么是闭包 闭包,官方对闭包的解释是:一个拥有许多变量和绑定了这些变量的环境的表达式(通常是一个函数),因而这些变量也是该表达式的一部分.闭包的特点: 1. ...

  7. 全面理解Javascript闭包和闭包的几种写法及用途--转载自https://www.cnblogs.com/yunfeifei/p/4019504.html...

    全面理解Javascript闭包和闭包的几种写法及用途 好久没有写博客了,过了一个十一长假都变懒了,今天总算是恢复状态了.好了,进入正题,今天来说一说javascript里面的闭包吧!本篇博客主要讲一 ...

  8. Python中斐波那契数列的四种写法

    在这些时候,我可以附和着笑,项目经理是决不责备的.而且项目经理见了孔乙己,也每每这样问他,引人发笑.孔乙己自己知道不能和他们谈天,便只好向新人说话.有一回对我说道,"你学过数据结构吗?&qu ...

  9. 避免常见的6种HTML5错误用法,如何避免常见的6种HTML5错误用法

    一.不要使用section作为div的替代品 人们在标签使用中最常见到的错误之一就是随意将HTML5的等价于 --具体地说,就是直接用作替代品(用于样式).在XHTML或者HTML4中,我们常看到这样 ...

最新文章

  1. 笔记本x31搭建家用win服务器系统,Thinkpad X31怎么硬盘安装win7系统
  2. event级别设置Resumable Space Allocation
  3. 网络编程之网络架构及其演变过程、互联网与互联网的组成、OSI七层协议、socket抽象层...
  4. 百度内部培训PPT流出:数据分析的道与术
  5. raft协议中统计一条log被多少节点复制
  6. 什么是java的元数据_学习大数据,为什么要先学习Java?
  7. 【离散数学】欧拉图与汉密尔顿图
  8. VSCode 1.35 发布,新的图标,支持远程开发
  9. 基于卷积神经网络的小麦病害识别方法
  10. 【渝粤教育】国家开放大学2018年秋季 0570-21T摄像、录像制作 参考试题
  11. 联想计算机不能使用ghost,如何解决联想台式机不能重装系统
  12. OPPO R9sPlus MIFlash线刷TWRP Recovery ROOT详细教程
  13. alpha因子常见问题_因子体系(一):从因子确定到ALPHA和风险的界定
  14. mysql sqlserver 跨库查询_SQLServer跨库查询
  15. 建筑设计的未来是什么?| 建筑 · 人工智能专栏
  16. js逆向系列之猿人学爬虫第13题
  17. Filter过滤器链执行顺序
  18. 网络基础设施的相对落后对于信息化社会的快速发展的影响
  19. 2019沈阳网络赛B.Dudu's maze
  20. 宽度优先搜索python_宽是什么意思 宽字五行属什么

热门文章

  1. 九种 0-1 背包问题详解
  2. 蓝桥杯 ADV-144 算法提高 01背包
  3. PAT甲级 -- 1041 Be Unique (20 分)
  4. 【传智播客】Javaweb程序设计任务教程 黑马程序员 第六章 课后答案
  5. dede 验证码不显示 vdimgck.php,Dede后台验证码不显示解决方法详解(dedecms 5.7)
  6. 桌面在计算机哪个文件夹,windows的桌面文件夹是哪个?
  7. 讯飞tts语音引擎9.0_使用科大讯飞语音转文字的服务进行电话录音分析
  8. kafka partition分配_Kafka架构原理,也就这么回事
  9. python测验7编程题_2020大学moocPython编程基础章节测验答案
  10. mysql 排序 删除_是否可以删除mysql表排序规则?