Контроллер rest работает, но метод ajax post возвращает ошибку - PullRequest
0 голосов
/ 23 сентября 2019

Я создаю метод записи, используя $.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.";

}

У меня есть кнопка создания члена на веб-страницекоторый выполняет этот метод post ajax, когда я нажимаю его, все работает нормально, информация об элементе отправляется на контроллер остальных, создается (работает на 100%) и возвращает {"readyState":4 status":200, "statusText":"parsererror"} и error: function(error) метода вызова ajax вызывается

В чем проблема?

это первый день, когда я работаю с ajax и javascript, я не очень понимаю, что происходит.

Заранее спасибо

PS Я пытался изменить тип данных text json, json и некоторые другие, которые предлагались в аналогичных вопросах, но они не помогли мне, поэтому я решил задать вопрос сам.

Ответы [ 2 ]

2 голосов
/ 23 сентября 2019

Попробуйте изменить

data: JSON.stringify (member) , и вы получите ответ в своем успехе в результате /

0 голосов
/ 23 сентября 2019

Удалить тип данных из запроса ajax, и он работает.

Удалить это.

dataType: "application/json"

Подробнее см. это

...