ajax传递json数组对象
你创建json数据之后直接发送就好,会在发送之前自动序列化的,后台收到的是序列化之后的字符串,formData需要手动序列化。json不需要。至于用法你可以先看下原生的如何使用,创建xmhttp,设置header,异步发送,状态等待判断,接受reponseText。等你明白之后可以直接用jquery的ajax封装好的,使用方法请w3c。
返回的如果是jsonencode之后的数据,可以直接用下标访问。
后台的json数组,怎样添加到table里面
那你可以这样:
①如果用jquery的ajax,只需要指定接受字符串的dateType为 json,这时候的实参data就已经是js对象了。
②如果不用jquery的ajax,直接执行eval(如三楼采用的:var jsonObj =eval(jsonStr);eval 本身的作用就是执行字符串 )。
③还有就是parseJSON();和parse()这俩方法了(貌似需要浏览器支持,或者引入JSON2.js)。得到了 对象一切就好说了。如果是数组格式(比如后端的json是根据ArrayList序列化来的)可以像操做数组一样直接根据index取得相应数据。如果是键值对(后端是map序列化成的标准json格式) 那就直接key.value就能取得相应数据了。
Spring中ajax与后端传输数据的几种方式
后台解析ajax传递的数据,这主要看前端传递数据的格式,主要有以下几种常见的。
1、前端ajax传递表单数据,类似{name:'zhangsan',age:'17'}后台只需利用request.getParameter("name")形式即可获取对应的value值。
2、前端传递json数据格式。后台可以直接获取json字符串,然后利用相关的API转成对应的Java对象。或者直接利用springMvc的注解@RequestBody注解。@RequestMapping(value = "/save")public void save(@RequestBody User user){}这样传递的json数据会自动封装成user对象。如果当前传递的是一个json数组,则后端可以定义一个VO对象,vo对象中存放一个userList。public class UserVO{private List<User> dataList;}@RequestMapping(value = "/save")public void save(@RequestBody UserVO userVO){
ajax在结构化数据处理的时候
$.ajax({ type: 'POST', url: url, data: {"ids":ids,"type":type}, dataType: 'text', success: function(data){ //假设data={'id':'1','content':'sssssssss' } data = eval('('+data+')'); //转为对象 $("#ac").html(data.content)
; //如果是数组 data = eval('('+data+')'); for( var i in data){ $("#ac").html(data[i].content); } }, error: function(e){ alert(e); } })
还没有评论,来说两句吧...