ajax传递json数组对象
你创建json数据之后直接发送就好,会在发送之前自动序列化的,后台收到的是序列化之后的字符串,formData需要手动序列化。json不需要。至于用法你可以先看下原生的如何使用,创建xmhttp,设置header,异步发送,状态等待判断,接受reponseText。等你明白之后可以直接用jquery的ajax封装好的,使用方法请w3c。
返回的如果是jsonencode之后的数据,可以直接用下标访问。
用java写个接口实现数据对接
application/x-www-form-urlencoded:
application/json:
通过上面例子发现,结构简单的时候formdata数据更简单,结构复杂的时候(array)JSON数据更简单。
题目问到Java接口,应该分三种情况。
如果是JSP等服务器端模板技术,再加上一些jQuery AJAX。
POST的时候,默认contentType都是application/x-www-form-urlencoded。可改成application/json,看自己。
如果用前端框架,Angular、React、Vue。
POST的时候,默认contentType都是application/json。建议用JSON,别改。JSON就是JS的一个子集,既方便JS解析,也方便人读。
Java服务器端对其他服务器端通信。
其实更建议用XML,特别是和第三方服务通信的时候。如果公司内部自己的几个Java服务通信,用JSON就好。
现在Java Web开发,最常见的是上面第2种情况。所以,当用Spring MVC的时候,建议用@RestController
如果用@Controller,需要这么写:
如果用@RestController,不需要写@ResponseBody,也不需要指定consumes和produces类型,默认都是application/json。可以简化成这样: