Springbootフロントエンドはバックエンドに配列を伝達し,バックエンドは注意の問題を受信する


エラー1:org.springframework.web.HttpMediaTypeNotSupportedException: Content type ‘application/json;charset=UTF-8’ not supported.
理由:springmvc@RequestBody注記でjson文字列をコミットしてpojoパラメータに自動的にバインドする場合は、「アプリケーション/json;charset=UTF-8」のタイプが必要です.そうしないと「not supported」異常が放出されます.
エラー2:JSON parse error:Unrecognized token‘id’:was expecting(‘true’,‘false’or‘null’).
理由:戻りデータのフォーマットが規範化されていない.DataTypeがjsonとして指定すると、1.4+以上のjqueryバージョンはjsonフォーマットに対してより厳しい要求をする.厳密なjsonフォーマットでなければsuccessコールバック関数は正常に実行できません.すなわち、書き方data:{"ids":JSON.stringify(str)}は誤りであり、正しくはdata:JSONである.stringify(str).
参照先:https://blog.csdn.net/qq_36802726/article/details/88419297
例:
function deleteList(){

            var arr=new Array();

            if(confirm("           ?")){
                var flag = false;
                //         
                var cbs = document.getElementsByName("ids");
                for (var i = 0; i < cbs.length; i++) {
                    if(cbs[i].checked){
                        //        
                        flag = true;
                        break;
                    }
                }
                if(flag){//      
                    for (var i = 0; i < cbs.length; i++) {
                        if(cbs[i].checked){
                            //        
                            arr.push(cbs[i].value);
                        }
                    }
                }
            }

            $.ajax({
                dataType: "json",
                url: "/user/deleteList.do",
                type: "post",
                data: JSON.stringify(arr),
                contentType: "application/json;charset=UTF-8",
                dataType:"json",
                success: function (data) {
                    alert(data.message);
                    if (data.success) {
                        window.location.href = "/user/findAll.do";
                    } else {

                    }
                },
                error: function (e) {
                    alert("    ");
                    location.reload();
                }
            });
        }
@ResponseBody
    @RequestMapping("/deleteList.do")
    public Result deleteList(@RequestBody String[] ids){
        for (String userid:ids) {
            userService.delete(userid);
        }
        return new Result(true, "    ", null);
    }