通过ajax post向后台提交json数据

           var res;
            res =  JSON.stringify({
                shareToUser: ShareName,
                categoriesIds:categoriesIds
            }),
            $.ajax({
                type: "POST",
                url: " /share/shared-category/doShare",
                data: res,
                contentType: "application/json",
                dataType:"json",
                success: function(data){
                    layer.msg( data.msg );
                    setTimeout(() => {
                        location.href="/share/shared-qa/index";
                     },1000)
                },error:function () {

                }
            });

注意事项:

1、ajax中,contentType: "application/json"是必须的。dataType: "json"是表示返回值是json格式,依据返回值类型而定

2、data中,将json对象序列化。使用JSON.stringfy()函数或者双引号形式的字符串

3、调试的一个技巧,有时候json变量和实体类相对复杂时提交老是报415或者400的错误又找不到原因,可以将Action中的实体类换成JSONObject 看看能不能接收到参数,@RequestBody JSONObject requestJso,接收后在JSON系列化到实体类。有次就是因为json变量向实体类转换时发生字符向数字转换的错误


扫描二维码,在手机上阅读!