有关用AJAX发送json数据到后台的问题总结
2016-09-19 18:18
656 查看
标准的发送AJAX到后台的写法如下,这里用jquery来实现的
后台采用的是spring mvc来接收的,后台接收的方式也分为了两种,一种是用@RequestBody来处理的,一种是用common io的工具类IOUtils来读取二进制流将其解析成一个字符串,之后再用fastjson来将一个Json字符串转成java对象
另外将spring.xml部分对json的配置分享出供大家来查阅,spring对json的配置交给了fastjson来处理,配置如下
有问题请留言。
var xml_data = [{"name":"scene_img_3773_panorama","sceneAttr":{"view":{"hlookat":"1.008","vlookat":"-4.579"},"hotspots":[{"ath":"-4.124","atv":"4.146","linkedscene":"scene_img_7994_panorama","name":"spot1"},{"ath":"-4.124","atv":"8.146","name":"spot2"}]}},{"name":"scene_img_7994_panorama","secenAttr":{"view":{"hlookat":"-3.296","vlookat":"2.283"},"hotspots":[{"ath":"-19.613","atv":"11.459","linkedscene":"scene_img_7984_panorama","name":"spot1"},{"ath":"-75.014","atv":"8.862","linkedscene":"scene_img_3773_panorama","name":"spot2"}]}}];
$.ajax({ type:"POST", url:"/panorama/saveScene", processData: false, contentType: "application/json;charset=utf-8", //这个是发送信息至服务器时内容编码类型 dataType: "json", data:JSON.stringify(xml_data),//这里必须将对象转成string类型,否则将掉入无线的大坑中。。。 success:function(msg){ alert(msg); } })
后台采用的是spring mvc来接收的,后台接收的方式也分为了两种,一种是用@RequestBody来处理的,一种是用common io的工具类IOUtils来读取二进制流将其解析成一个字符串,之后再用fastjson来将一个Json字符串转成java对象
@Controller @RequestMapping("/panorama") public class PanoController extends BaseController { /** * 用@RequestBody的方式来将json反序列化成list<Scene>对象 * @param scene * @return */ @RequestMapping(value = "saveScene",method = RequestMethod.POST) @ResponseBody public List<Scene> saveScene(@RequestBody List<Scene> scene){ System.out.println("JSONTOJAVAOBJ==================="+scene.size()); return scene; } //io流读取二进制json对象 public List<Scene> saveScene(HttpServletRequest request) throws IOException{ String jsonStr = IOUtils.toString(request.getInputStream(),"UTF-8"); System.out.println("JSONTOJAVAOBJ============"+JSON.parseObject(jsonStr,new TypeReference<List<Scene>>(){})); return null; } }
另外将spring.xml部分对json的配置分享出供大家来查阅,spring对json的配置交给了fastjson来处理,配置如下
<mvc:annotation-driven> <!-- 编码转换 --> <mvc:message-converters register-defaults="true"> <bean class="org.springframework.http.converter.StringHttpMessageConverter"> <property name="supportedMediaTypes"> <list> <value>text/plain;charset=UTF-8</value> <value>text/html;charset=UTF-8</value> <value>application/json;charset=UTF-8</value> </list> </property> </bean> <!-- 将spring的json处理交给fastjson --> <bean class="com.alibaba.fastjson.support.spring.FastJsonHttpMessageConverter"> <property name="supportedMediaTypes" value="application/json;charset=UTF-8"/> <property name="features"> <list> <value>WriteMapNullValue</value> <value>QuoteFieldNames</value> </list> </property> </bean> </mvc:message-converters> </mvc:annotation-driven>
有问题请留言。
相关文章推荐
- 分布式架构项目中各模块中页面发送ajax请求后台json数据的传输问题
- 在使用ajax向后台发送json数据,存在格式不正确的问题
- java后台以json字符串的形式,将数据返回给$.ajax的问题总结
- 类型:JQuery;问题:ajax调用ashx文件;结果:ashx文件怎么获取$.ajax()方法发送的json数据
- ajax接收java后台传过来的json数据乱码及获取字段undefind问题
- token获取不到,原来是数据格式的问题 要和后台的数据格式一致,$.ajax中contentType: “application/json” 的用法
- ajax提交json数据,后台解析问题
- 使用ajax接收后台发送过来的json数据方法
- javascript中创建对象,并序列化为json,通过$.ajax的提交json数据到后台方法,取值为null的问题
- $.ajax传JSON数据到后台出现报错问题解决
- 用ajax json给后台action传数据要注意的问题
- ajax发送json,后台取得数据
- 有关文件上传 非ajax提交 得到后台数据问题
- 关于ajax后台success传来json数据的问题
- 将表单序列化之后变成的json格式的数据无法通过Ajax发送到后台的解决
- 使用ajax接收后台发送过来的json数据
- Ext2.2+json+jsp获取后台数据的问题 --Ajax
- java后台设置可跨域访问,前端ajax获取json数据,解决浏览器限制跨域访问的问题
- ajax提交数据到后台处理返回json问题
- ajax发送json格式数据到后台(输入流content)