我在ajax中有一个函数负责将邮件发送到REST API
@PutMapping(value = "/changeEmail", consumes = MediaType.APPLICATION_JSON_VALUE)
public HttpEntity<ChangeEmailDTO> showChangeEMail(
@RequestBody @Valid ChangeEmailDTO changeEmailDTO
) {
System.out.println("Email: " + changeEmailDTO.getEmail());
return ResponseEntity.ok(changeEmailDTO);
}
该数据由控制器接收,该控制器验证该数据
@ExceptionHandler(MethodArgumentNotValidException.class)
@ResponseStatus(HttpStatus.BAD_REQUEST)
@ResponseBody
public ValidationErrorDTO processValidationError(MethodArgumentNotValidException ex) {
BindingResult result = ex.getBindingResult();
List<FieldError> fieldErrors = result.getFieldErrors();
return processFieldErrors(fieldErrors);
}
如果数据不正确,则抛出异常处理程序的异常
api.paginationGoToLastPage()
感谢我以列表https://zapodaj.net/7e359361ed05a.png.html的形式回复json时出错 我不知道如何在js / ajax中从这个响应中获取数据并为它们做些什么,例如,在页面上发布。我不知道怎么办?
答案 0 :(得分:0)
更改您的ajax调用,如下所示,然后可以通过jquery dom
附加值function changeEmail() {
var changeEmailDTO = { "email":$('#email').val()};
$.ajax({
type: 'PUT',
url: '/changeEmail',
contentType: "application/json",
dataType: "json",
data: JSON.stringify(changeEmailDTO),
success: function (result) {
console.log(result);
}, error: function (xhr, ajaxOptions, thrownError) {
alert(xhr.status);
$("#error-div").html(thrownError);---> example
alert(thrownError);
}
});
}