ошибка в моем коде JavaScript - PullRequest
0 голосов
/ 25 апреля 2018

Когда я отправляю почтовый запрос на мой URL, мой контроллер может сохранить запись в базе данных, но мой ajax ошибается.Что я делаю неправильно?мой код js:

function salvarValores(){
capturarValores()
$.ajax({
    type: "POST",
    url: "/service/newService/service",
    dataType: "json",
    contentType: 'application/json',
    data: JSON.stringify(( { 'cpfPessoa': cpfCliente, "descricaoServico": descricao } )),
    success: function(data){
        alert("Record successfully entered");
        location.reload();
    },
    error: function(data){
        alert("Error performing operation");
        location.reload();
    }
});

}

мой контроллер весенней загрузки

@PostMapping("/service/newService/service")
@ResponseBody
public ResponseEntity<String> newService(@RequestBody  Service service) {

    if (serviceDao.addObject(service)) {
        logger.debug("Adding data");
        return new ResponseEntity<String>("Data successfully saved", HttpStatus.OK);
    }
    logger.error("Error to insert data in database");
    return new ResponseEntity<String>("Error to insert data in database", HttpStatus.FAILED_DEPENDENCY);
}

, когда я нажимаю кнопку сохранения, у меня появляется предупреждение с сообщением «Ошибка выполненияоперация "но запись была вставлена ​​в базу данных правильно

1 Ответ

0 голосов
/ 25 апреля 2018

Вы сказали jQuery, что ожидаете возвращения JSON:

$.ajax({
  // ...
  dataType: "json", // <== Here
  // ...
});

... но вы возвращаете не JSON:

return new ResponseEntity<String>("Data successfully saved", HttpStatus.OK);

Таким образом, когда jQuery пытается проанализировать ответ (как JSON) для вас, он терпит неудачу.

Удалите параметр dataType (или установите его на "text"). Подробнее в документации .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...