yty2021 2023-02-14 10:45 采纳率: 42.9%
浏览 128
已结题

前端发送json对象给后台spring mvc报错


 let personInsertDO={
        name:$('#name').val(),
        sex:$('#sex').val(),
        nation:$('nation').val(),
        peopleId:$('#peopleId').val(),
        phoneOne:$('#phoneOne').val(),
        phoneTwo:$('#phoneTwo').val(),
        workUnit:$('#workUnit').val(),
        householdPeopleId:$('#householdPeopleId').val(),
        relationWithHousehold:$('#relationWithHousehold').val()
     };

     let properties=[];


     let select = $('.selectpicker')[0];
     for (let i = 0; i < select.options.length; i++) {
        if (select.options[i].selected) {
            let property={
                id:select.options[i].value,
                value:""
            };
            properties.push(property);
        }
      }

      personInsertDO['properties']=properties;
      personInsertDO=JSON.stringify(personInsertDO);

      console.log(personInsertDO);
      $.ajax({
        type: "post",
        url: "/addPersonConfirm",
        data: personInsertDO,
        dataType: "json",
        contentType: "application/json",
        headers: {
            'Content-Type': 'application/json'
        },
        success: function (response) {
            if(response.code == 200){
                layer.msg(response.message,{
                    icon:1,
                    shade:0.01
                });
                parent.refreshTable();
                parent.layer.closeAll();
            }
            else if(response.code==500){
                alert("请检查你的信息");
            }
            else if(response.code==401){
                alert("没有查询到你的户主");
            }
        }
    });

 @PostMapping("/addPersonConfirm")
    @ResponseBody
    public Result<Boolean> addPersonConfirm(@RequestBody PersonInsertDO personInsertDO) {
        LOG.info(personInsertDO.getHouseholdPeopleId()+" "+personInsertDO.getName());
        Result<Boolean> returnData = new Result<>();

        if (personInsertDO.getName()==null || personInsertDO.getHouseholdPeopleId()==null){
            returnData.setCode(Constant.CODE_500);
            returnData.setMessage("请检查你的信息");
        }
        else if (personService.findByPersonIdIsHousehold(personInsertDO.getHouseholdPeopleId())==null){
            returnData.setCode(Constant.CODE_401);
            returnData.setMessage("你填写的户主不存在");
        }
        else {
            personService.addPerson(personInsertDO);
            returnData.setMessage("成功添加一条居民信息");
            returnData.setSuccess(true);
            returnData.setData(true);
            returnData.setCode(Constant.CODE_200);
        }

        return returnData;
    }

前面是前端代码,后面是后端代码,为什么始终得到报错Resolved [org.springframework.web.HttpMediaTypeNotSupportedException: Content type 'application/x-www-form-urlencoded;charset=UTF-8' not supported]

img

  • 写回答

12条回答 默认 最新

  • 普通网友 2023-02-14 11:12
    关注

    前面的回答都说是content-type的问题,实际上你也意识是这个问题,
    但是你可能不知道入手去查找或解决这个问题。


    你需要的是有人帮你调试代码,你说对不?

    如果需要,我们可以聊聊。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(11条)

报告相同问题?

问题事件

  • 系统已结题 2月22日
  • 已采纳回答 2月14日
  • 创建了问题 2月14日

悬赏问题

  • ¥15 在若依框架下实现人脸识别
  • ¥15 网络科学导论,网络控制
  • ¥100 安卓tv程序连接SQLSERVER2008问题
  • ¥15 利用Sentinel-2和Landsat8做一个水库的长时序NDVI的对比,为什么Snetinel-2计算的结果最小值特别小,而Lansat8就很平均
  • ¥15 metadata提取的PDF元数据,如何转换为一个Excel
  • ¥15 关于arduino编程toCharArray()函数的使用
  • ¥100 vc++混合CEF采用CLR方式编译报错
  • ¥15 coze 的插件输入飞书多维表格 app_token 后一直显示错误,如何解决?
  • ¥15 vite+vue3+plyr播放本地public文件夹下视频无法加载
  • ¥15 c#逐行读取txt文本,但是每一行里面数据之间空格数量不同