REST 控制器工作,但 AJAX POST 方法返回错误



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

$(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% 工作(并返回{"readyState":4 status":200, "statusText":"parsererror"}和 ajax post 方法的error: function(error)被调用

怎么了?

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

提前致谢

附言我尝试更改数据类型text jsonjson和类似问题中建议的其他一些,但它们对我不起作用,所以我决定自己提出一个问题。

尝试更改

data: JSON.stringify(member(,你会在结果中得到你的成功回应/

从 ajax 请求中删除数据类型,它可以工作。

删除此内容。

dataType: "application/json"

有关详细信息,请参阅此处

最新更新