jQuery AJAX 方法 success()后台传来的4种数据

1.后台返回一个页面

js代码

 
  1. /**(1)用$("#content-wrapper").html(data);显示页面*/

  2. $.ajax({

  3. async : false,

  4. cache : false,

  5. type : 'POST',

  6. url : 'area/prepareCreate',

  7. error : function() {

  8. alert('smx失败 ');

  9. },

  10. success : function(data) {

  11. $("#content-wrapper").html(data);

  12. }

  13. });

java代码

 
  1. /*

  2. * (1)不能有注解@RespoonseBody

  3. * (2)返回值类型是String,代表页面所在的文件夹

  4. * (3)如果返回"error",执行ajax的error方法

  5. */

  6. @RequestMapping(value = "area/prepareCreate", method = RequestMethod.POST)

  7. public String editAreaWithFile() {

  8. return "area/create;

  9. // return "error";

  10. }

2. 后台返回一个基本类型String,Long等

js代码

 
  1. $.ajax({

  2. async : false,

  3. cache : false,

  4. type : 'POST',

  5. url : 'app/area/delete',

  6. dataType : "json",

  7. error : function() {

  8. alert('smx失败 ');

  9. },

  10. success : function(data) {

  11. /**重点:前台接收到返回值,直接处理就行*/

  12. alert(data);

  13. }

  14.  
  15. });

java代码

 
  1. /**(1)用@ResponseBody注解

  2. (2)可以接收各种参数,url,data(名称匹配或@RequestBody)

  3. (3)返回值类型就是基本类型*/

  4. @ResponseBody

  5. @RequestMapping(value = "area/delete", method = RequestMethod.POST)

  6. public long editArea() {

  7. //处理参数

  8. return 3;

  9. }

3. 后台返回一个实体类

第一步:定义一个实体类

 
  1. /**

  2. * flag为1 :操作失败

  3. * msg:失败原因;

  4. * flag为0: 操作成功*/

  5. public class AjaxResponseMsg {

  6. private int flag;

  7. private String msg;

  8. }

第二步:js代码

 
  1. $.ajax({

  2. async : false,

  3. cache : false,

  4. type : 'POST',

  5. url : 'app/area/delete',

  6. error : function() {

  7. alert('smx失败 ');

  8. },

  9. success : function(data) {

  10. var jsonData = JSON.parse(data);

  11. if (jsonData .flag == 0) {//请求成功

  12. alert("后台操作成果");

  13. } else {

  14. alert(jsonData .msg);

  15. }

  16. }

  17. });

第三步:java代码

 
  1. /**(1)添加注解@ResponseBody

  2. (2)可以接收参数

  3. (3)返回类型就是实体类*/

  4. @ResponseBody

  5. @RequestMapping(value = "area/delete", method = RequestMethod.POST)

  6. public AjaxResponseMsg editAreaWithFile() {

  7.  
  8. // 做操作

  9. boolean result = true

  10. AjaxResponseMsg ajaxMsg = new AjaxResponseMsg();

  11. if (result == true)

  12. ajaxMsg.setFlag(0);

  13. else {

  14. ajaxMsg.setFlag(1);

  15. ajaxMsg.setMsg("不能给一个传感器添加重复设备");

  16. }

  17. return ajaxMsg; // 返回给前台一个实体类,包括是否操作成功,及失败原因

  18. }

4.后台返回一个实体类list(实体类的字段都是基本类型)

实体类

 
  1. public class Section{

  2. private Long id; //id

  3. private String name; //名称

  4. }

前台

 
  1. $.ajax({

  2. async : false,

  3. cache : false,

  4. type : 'POST',

  5.  
  6. url : "section/getSections",

  7. error : function() {

  8. alert("失败");

  9. },

  10. success : function(data) {

  11. var jsonData = JSON.parse(data); //jsonData是该下路下的所有区间(json格式)

  12.  
  13. for (var i = 0; i < jsonData.length; i++) {

  14. alert(jsonData[i].id);

  15. alert(jsonData[i].name);

  16. }

  17.  
  18. }

  19. })

后台

 
  1. @ResponseBody

  2. @RequestMapping("/section/getSections")

  3. @RequiresPermissions("section:view")

  4. public List<Section> getSections() {

  5. List<Section> sections = new List<Section>();

  6. return sections;

  7. }

5.后台返回一个实体类list(实体类的字段包括List类型)

第一步:定义实体类ChartSeries

 
  1. public class ChartSeries {

  2. private String name; //曲线名称

  3. private List<Float> data; //曲线的纵坐标

  4. private List<Date> occurTime; //曲线的横坐标

  5. //添加get set方法

  6. }

第二步:js代码

 
  1. $.ajax({

  2. url : "/dataRecord/chart" , //获取数据列

  3. type : 'GET',

  4. data : {

  5. },

  6. success : function(data) {

  7. formatStringToJson(data);//对数据进行处理

  8. }

  9. });

  10.  
  11. function formatStringToJson(data) {

  12.  
  13. jsonData = JSON.parse(data); //把后台传来的数据转来JSON格式

  14. //jsonData是二维数组,因为实体类ChartSeries的字段data也是个list

  15. for (x in jsonData) { //遍历JSON格式的数组取元素, x代表下标

  16.  
  17. for (y in jsonData[x].data) {

  18. alert(jsonData[x].occurTime[y]) ;//依次获取

  19. alert(jsonData[x].data[y]);

  20. }

  21.  
  22. }

  23.  
  24.  
  25. }

第三步:java代码

 
  1. @ResponseBody

  2. @RequiresPermissions("dataRecord:view")

  3. @RequestMapping(value = "/dataRecord/chart}", method = RequestMethod.GET)

  4. public List<ChartSeries> getChart(){

  5. List<ChartSeries> list = new List<ChartSeries>();

  6. //给list赋值

  7. return list; // list

  8. }

后台传来的数据格式如下 
这里写图片描述

@RequiresPermissions

例如: @RequiresPermissions({"file:read", "write:aFile.txt"} )
  void someMethod();

要求subject中必须同时含有file:read和write:aFile.txt的权限才能执行方法someMethod()。否则抛出异常AuthorizationException。
--------------------- 
 

转载于:https://blog.csdn.net/tangxiujiang/article/details/78145050

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值