天天看点

Ajax发送和获取json数据到Spring mvc 1.spring mvc后端2.web前段

1.spring mvc后端

@ResponseBody
    	@PostMapping(value = "/setandgetjson")
    public Object setAndGetJson(@RequestBody User user,HttpServletResponse response)throws IOException{
        response.setHeader("Access-Control-Allow-Origin", "*");
        System.out.println("访问了setAndGetJson");
        System.out.println(user.toString());
        List list=new ArrayList();
        list.add(new User("李伟","123455"));
        list.add(new User("李伟33","5656"));
        Map<String, Object> map = new HashMap<>();
        map.put("list",list);
        return map;
    }      

2.web前段

$(".ajax2").click(function () {
    var basePath=$(".basepath").attr("name");
    var data={"userName": "henry", "password": "880058"};
    console.log(JSON.stringify(data));
    $.ajax({
        traditional:true,//这使json格式的字符不会被转码
        type: "post",
        url: basePath+"setandgetjson",
        contentType:'application/json;charset=utf-8',
        dataType:'json',	//	这个必须写,要不然springmvc就不知道他是json格式的数据
        data:JSON.stringify(data),
        success: function (data) {
           console.log(data);
        },
        error: function (XMLHttpRequest, textStatus) {
            //这个error函数调试时非常有用,如果解析不正确,将会弹出错误框
            alert(XMLHttpRequest.getResponseHeader());
            alert(XMLHttpRequest.status);
            alert(XMLHttpRequest.readyState);
            alert(textStatus); // parser error;
        }
    });      
//此方法不能使spring mvc @RequestBody 数据绑定,会报415错误      
// $.post(basePath+"setandgetjson", {"userName": "henry", "password": "8800580.."}, function (data) {
    //     $('.tishi').html(data);
    // });
});