Jquery AJAX .error产生错误“无法读取属性字段”

Jquery AJAX .error produces error "Cannot read property fieldErrors of undefined"

本文关键字:读取 属性 字段 error AJAX 错误 Jquery      更新时间:2023-09-26

我正在构建一个简单的Spring MVC应用程序,它的功能就像一个dvd库。当尝试验证表单中的字段时,会出现这个问题。

产生问题的AJAX调用在这里:

$(document).ready(function() {
  $('#add-button').click(function(event) {
    event.preventDefault();
    $.ajax({
      type: 'POST',
      url: 'dvd',
      data: JSON.stringify({
        title: $('#add-title').val(),
        releaseDate: $('#add-releaseDate').val(),
        mpaaRating: $('#add-mpaaRating').val(),
        director: $('#add-director').val(),
        studio: $('#add-studio').val(),
        note: $('#add-note').val(),
        image: $('#add-image').val()
      }),
      headers: {
        'Accept': 'application/json',
        'Content-type': 'application/json'
      },
      'dataType': 'json'
    }).success(function(data, status) {
      $('#add-title').val('');
      $('#add-releaseDate').val('');
      $('#add-mpaaRating').val('');
      $('#add-director').val('');
      $('#add-studio').val('');
      $('#add-note').val('');
      $('#add-image').val('/img/default.jpg');
      $('#validationErrors').empty();
    }).error(function(data, status) {
      $('#validationErrors').empty();
      $.each(data.responseJSON.fieldErrors, function(index, validationError) {
        var errorDiv = $("#validationErrors");
        errorDiv.append(validationError.message).append($("<br>"));
      });
    });
  });
});

我注意到的一件事是,在一个完全相同的代码按预期工作的不同项目中,响应头显示一种JSON类型。这个项目的代码生成一个类型为text的响应头。

这里真正让我烦恼的是成功函数运行得很好。那么为什么错误不起作用呢?

我从其他海报上看到了一堆不同的问题,但还没有找到一个解决方案。

我创建了一个新项目,创建了所有新文件,将内容复制并粘贴到新文件中->清理和构建->部署…它工作。

我没有对底层代码做任何更改。我刚刚让Spring在我的验证处理程序上注册了@ControllerAdvice