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

前端发送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日