休息控制器工作,但 ajax post 方法返回错误

我正在制作一个 post 方法,使用的$.ajax是这个


$(function(){


     $("#postMembers").click(function(){

            let member ={

                firstName: "khookina",

                lastName : "khooak",

                age:1,

                sex:"female",

                duty:"undefined",

                dailyJeton:2

            }


            $.ajax({

                type: "post",

                url: "http://localhost:8080/RCP2/members",

                data: member,

                dataType: "application/json",

                success: function (response) {

                    alert("success");

                },

                error: function(error){

                    alert("error");



                }

            });



        }); 

我的休息控制器是这样的


@PostMapping(consumes = {MediaType.APPLICATION_FORM_URLENCODED_VALUE}, produces = {MediaType.APPLICATION_JSON_UTF8_VALUE})

public String createMembers(Member member) {

    if (member.hasError()) {

        throw new CreatePersonException("All the fields must be filled properly in order to create a new member.");

    }


    if (personDao.createMember(member)) {

        return "Member: " + member.getFirstName() + " " + member.getLastName() + " successfully created.";

    }


    return "couldn't create member, please try again later.";


}

我在网页中有一个执行此 ajax post 方法的创建成员按钮,当我按下它时,一切正常,成员信息被发送到其余控制器,它被创建(100%工作)并返回 ajax {"readyState":4 status":200, "statusText":"parsererror"}posterror: function(error)方法被叫到


有什么问题?


这是我使用 ajax 和 javascript 的第一天,我不太明白发生了什么。


提前致谢


PS我尝试过更改 data-typetext json以及json类似问题中建议的其他一些内容,但它们对我不起作用,所以我决定自己提出一个问题。


慕容森
浏览 120回答 2
2回答

守着一只汪

尝试改变数据:JSON.stringify(member),您将在结果/中看到成功后的响应

慕村225694

从ajax请求中删除数据类型并且它可以工作。删除这个。dataType: "application/json"
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java