ajax的常见几种写法以及用法
2017-03-25 17:01
471 查看
一、服务端数据格式
1.自定义po类
2.controller准备需要返回的数据
二、ajax请求并解析数据
方式1:不带参数 $ajax(url,callback),即第一个参数是请求的url,第二个参数是回调用函数,json数据封装在result,需要对result的json数据进行解析
方式2:带参数 $.post(url,data,callback),即第一个参数是请求的url,第二个参数是请求参数,第三个参数是回调用函数,json数据封装在result,需要对result的json数据进行解析
测试结果如下:
方式三:请求为json方式,请求的参数格式json,返回的是json(与上面请求url不一样,原理类似)
方式四:请求为key、value方式,返回的是json,(与上面请求url不一样,原理类似)
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); } }); }
相关文章推荐
- memset、memcpy、memmove的常见用法和区别,以及memcpy与strcpy的区别
- 分库分表的几种常见形式以及可能遇到的难题
- 分库分表的几种常见形式以及可能遇到的难
- Toast.makeText的几种常见用法
- SQL中JOIN的几种常见用法
- Linux中find常见用法示例以及删除7天前的文件
- Linux中find常见用法示例以及删除7天前的文件
- Linux中find常见用法示例以及删除7天前的文件
- MSP430的看门狗常见用法以及中断函数的书写方法
- php网站开发常见的几种攻击以及解决方案
- 消息模式Toast.makeText的几种常见用法
- 消息模式Toast.makeText的几种常见用法
- Jquery中Ajax的几种用法
- appendchild的两个正确用法以及ajax
- 分库分表的几种常见形式以及可能遇到的难题
- Struts2常见的struts.xml以及constant属性的写法(设置清空页面缓存)。
- Xcode基本快捷键以及几种常见变量
- ldconfig功能以及常见用法简介
- http协议以及几种常见的状态码
- hibernate的like用法以及hibernate.query.factory_class的写法问题