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


Posted in jQuery onAugust 08, 2018

1.后台返回一个页面

js代码

/**(1)用$("#content-wrapper").html(data);显示页面*/
$.ajax({
 async : false,
 cache : false,
 type : 'POST',
 url : 'area/prepareCreate',
 error : function() {
  alert('smx失败 ');
 },
 success : function(data) {
  $("#content-wrapper").html(data);
 }
});

java代码

/*
 * (1)不能有注解@RespoonseBody 
 * (2)返回值类型是String,代表页面所在的文件夹
 * (3)如果返回"error",执行ajax的error方法
 */
@RequestMapping(value = "area/prepareCreate", method = RequestMethod.POST)
public String editAreaWithFile() {
 return "area/create;
 // return "error";
}

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

js代码

$.ajax({
 async : false,
 cache : false,
 type : 'POST',
 url : 'app/area/delete',
 dataType : "json",
 error : function() {
  alert('smx失败 ');
 },
 success : function(data) {
 /**重点:前台接收到返回值,直接处理就行*/
  alert(data);
 }

});

java代码

/**(1)用@ResponseBody注解
(2)可以接收各种参数,url,data(名称匹配或@RequestBody)
(3)返回值类型就是基本类型*/
@ResponseBody
@RequestMapping(value = "area/delete", method = RequestMethod.POST)
public long editArea() {
 //处理参数
 return 3; 
}

3. 后台返回一个实体类

第一步:定义一个实体类

/**
 * flag为1 :操作失败
 * msg:失败原因;
 * flag为0: 操作成功*/
public class AjaxResponseMsg {
 private int flag;
 private String msg; 
}

第二步:js代码

$.ajax({
 async : false,
 cache : false,
 type : 'POST',
 url : 'app/area/delete',
 error : function() {
  alert('smx失败 ');
 },
 success : function(data) { 
  var jsonData = JSON.parse(data);   
  if (jsonData .flag == 0) {//请求成功
   alert("后台操作成果"); 
  } else {
   alert(jsonData .msg); 
  }
 }
});

第三步:java代码

/**(1)添加注解@ResponseBody
 (2)可以接收参数
 (3)返回类型就是实体类*/
 @ResponseBody
 @RequestMapping(value = "area/delete", method = RequestMethod.POST)
 public AjaxResponseMsg editAreaWithFile() {

  // 做操作
  boolean result = true
  AjaxResponseMsg ajaxMsg = new AjaxResponseMsg();
  if (result == true)
   ajaxMsg.setFlag(0);
  else {
   ajaxMsg.setFlag(1);
   ajaxMsg.setMsg("不能给一个传感器添加重复设备");
  }
  return ajaxMsg; // 返回给前台一个实体类,包括是否操作成功,及失败原因
 }

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

实体类

public class Section{
 private Long id; //id
 private String name; //名称   
}

前台

$.ajax({
 async : false,
 cache : false,
 type : 'POST',

 url : "section/getSections",
 error : function() {
  alert("失败");
 },
 success : function(data) {
  var jsonData = JSON.parse(data); //jsonData是该下路下的所有区间(json格式) 

  for (var i = 0; i < jsonData.length; i++) {
   alert(jsonData[i].id);
   alert(jsonData[i].name);     
  }

 }
})

后台

@ResponseBody
@RequestMapping("/section/getSections")
@RequiresPermissions("section:view")
public List<Section> getSections() {
 List<Section> sections = new List<Section>();
 return sections;
}

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

第一步:定义实体类ChartSeries

public class ChartSeries {
 private String name; //曲线名称  
 private List<Float> data; //曲线的纵坐标 
 private List<Date> occurTime; //曲线的横坐标 
 //添加get set方法 
}

第二步:js代码

$.ajax({
   url : "/dataRecord/chart" , //获取数据列 
   type : 'GET',
   data : {
   },
   success : function(data) { 
    formatStringToJson(data);//对数据进行处理
   }
  });

 function formatStringToJson(data) {

  jsonData = JSON.parse(data); //把后台传来的数据转来JSON格式
  //jsonData是二维数组,因为实体类ChartSeries的字段data也是个list
  for (x in jsonData) { //遍历JSON格式的数组取元素, x代表下标

   for (y in jsonData[x].data) {    
     alert(jsonData[x].occurTime[y]) ;//依次获取 
     alert(jsonData[x].data[y]);
   }

  }


 }

第三步:java代码

@ResponseBody
@RequiresPermissions("dataRecord:view")
@RequestMapping(value = "/dataRecord/chart}", method = RequestMethod.GET)
public List<ChartSeries> getChart(){   
 List<ChartSeries> list = new List<ChartSeries>();
 //给list赋值
 return list; // list
}

后台传来的数据格式如下

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

以上这篇jQuery AJAX 方法success()后台传来的4种数据详解就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

jQuery 相关文章推荐
jQuery用户头像裁剪插件cropbox.js使用详解
Jun 07 jQuery
jQuery动态添加.active 实现导航效果代码思路详解
Aug 29 jQuery
jQuery实现鼠标点击处心形漂浮的炫酷效果示例
Apr 12 jQuery
通过jquery的ajax请求本地的json文件方法
Aug 08 jQuery
jQuery实现轮播图及其原理详解
Apr 12 jQuery
jQuery实现的点击图片居中放大缩小功能示例
Jan 16 jQuery
基于jQuery实现挂号平台首页源码
Jan 06 jQuery
jquery实现吸顶导航效果
Jan 08 jQuery
jQuery实现的解析本地 XML 文档操作示例
Apr 30 jQuery
Jquery Fade用法详解
Nov 06 jQuery
jQuery实现动态操作table行
Nov 23 jQuery
jQuery实现查看图片功能
Dec 01 jQuery
通过jquery的ajax请求本地的json文件方法
Aug 08 #jQuery
jQuery中ajax请求后台返回json数据并渲染HTML的方法
Aug 08 #jQuery
解决jquery的ajax调取后端数据成功却渲染失败的问题
Aug 08 #jQuery
jquery 通过ajax请求获取后台数据显示在表格上的方法
Aug 08 #jQuery
浅析vue-router jquery和params传参(接收参数)$router $route的区别
Aug 03 #jQuery
jQuery 实现倒计时天,时,分,秒功能
Jul 31 #jQuery
jQuery实现点击自身以外区域关闭弹出层功能完整示例【改进版】
Jul 31 #jQuery
You might like
深入解析php模板技术原理【一】
2008/01/10 PHP
discuz Passport 通行证 整合笔记
2008/06/30 PHP
PHP 采集程序中常用的函数
2009/12/09 PHP
判断Keep-Alive模式的HTTP请求的结束的实现代码
2011/08/06 PHP
PHP中数组的三种排序方法分享
2012/05/07 PHP
php教程之魔术方法的使用示例(php魔术函数)
2014/02/12 PHP
PHP延迟静态绑定使用方法实例解析
2020/09/05 PHP
浅析showModalDialog数据缓存问题(用禁止浏览器缓存解决)
2013/07/09 Javascript
JS判断客户端是手机还是PC的2个代码
2014/04/12 Javascript
javascript记住用户名和登录密码(两种方式)
2015/08/04 Javascript
jQuery如何使用自动触发事件trigger
2015/11/29 Javascript
JS结合bootstrap实现基本的增删改查功能
2016/07/22 Javascript
Bootstrap fileinput组件封装及使用详解
2017/03/10 Javascript
基于JavaScript实现的快速排序算法分析
2017/04/14 Javascript
vue iview组件表格 render函数的使用方法详解
2018/03/15 Javascript
JavaScript创建对象的常用方式总结
2018/08/10 Javascript
详解vue-router导航守卫
2019/01/19 Javascript
vue基础之v-bind属性、class和style用法分析
2019/03/11 Javascript
vuex(vue状态管理)的特殊应用案例分享
2020/03/03 Javascript
利用JavaScript为句子加标题的3种方法示例
2021/01/05 Javascript
django框架基于模板 生成 excel(xls) 文件操作示例
2019/06/19 Python
Python数据可视化:泊松分布详解
2019/12/07 Python
基于Python3.7.1无法导入Numpy的解决方式
2020/03/09 Python
python3用PyPDF2解析pdf文件,用正则匹配数据方式
2020/05/12 Python
Python __slots__的使用方法
2020/11/15 Python
Pandas直接读取sql脚本的方法
2021/01/21 Python
HTML5标签大全
2016/11/23 HTML / CSS
HTML5 文件上传下载的实例代码
2017/07/03 HTML / CSS
Amaze UI 文件选择域的示例代码
2020/08/26 HTML / CSS
俄罗斯达美乐比萨外送服务:Domino’s Pizza
2020/12/18 全球购物
会展策划与管理专业求职信
2014/06/09 职场文书
2014小学教师个人工作总结
2014/11/10 职场文书
百年校庆感言
2015/08/01 职场文书
诚信考试主题班会
2015/08/17 职场文书
2016年教育局“我们的节日——端午节”主题活动总结
2016/04/01 职场文书
《工作是最好的修行》读后感3篇
2019/12/13 职场文书