前端代码
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%
String basePath = request.getScheme() + "://" + request.getServerName() + ":" + request.getServerPort() + request.getContextPath() + "/";
%>
<html>
<head>
<base href="<%=basePath%>">
<title>Title</title>
<script type="text/javascript" src="jquery/jquery-2.1.1.min.js"></script>
<script type="text/javascript">
$(function () {
$("#btn1").click(function () {
var array=[1,2,3];
//将json数组转换为json字符串
var requestBody=JSON.stringify(array);
//输出日志
console.log(requestBody.length)
$.ajax({
url:"send/array.html",
data:requestBody,
type:"post",
contentType:"application/json;charset=utf-8",
dataType:"json",
success:function (data) {
$("#tex").val(data)
},
error:function (data) {
// alert(data)
}
})
})
})
</script>
</head>
<body>
<a href="test/ssm.html">ssm测试</a>
<button id="btn1">提交</button>
<textarea id="tex"></textarea>
</body>
</html>
这里的请求方式必须是post,get方式访问的时候会出现400错误
contentType:“application/json;charset=utf-8”, 这个也是必须写的不写就会报错
后端接收
@ResponseBody
@RequestMapping(value = "/send/array.html")
public Object receiveArray(@RequestBody List<Integer> array){
// Logger logger= (Logger) LoggerFactory.getLogger(testHandler.class);
System.out.println(array);
return "success";
}
@RequestBody 必须使用。否则也接收不到