Jquery AJAX .error产生错误“无法读取属性字段”
Jquery AJAX .error produces error "Cannot read property fieldErrors of undefined"
我正在构建一个简单的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
。
相关文章:
- TypeError:无法读取属性'推'未定义的JavaScript
- 同样,同样的错误'ahorcado.js:26未捕获类型错误:无法读取属性'beginPath'
- 未捕获的类型错误:无法读取属性'删除'的未定义
- AngularJS指令出错-无法读取属性'编译'的未定义
- 未捕获的类型错误:无法读取属性'name'即使它存在,也无法定义
- 看到“;未捕获的类型错误:无法读取属性'weight'未定义的“;尽管按照字面上的指示
- 无法读取属性'材料'未定义的Three.js
- 得到"TypeError:无法读取属性'filename'未定义的“;调用“npm start
- Soundcloud api"未捕获的类型错误:无法读取属性'uri'“未定义”;
- 未捕获的类型错误:无法读取属性'addEventListener'的null chrome扩展名
- Soundcloud Javascript SDK 3.0-回调无法读取属性'connectCallback
- 未捕获的类型错误:无法读取属性'状态'在react中为null
- JavaScript承诺-无法读取属性'那么'的未定义
- Javascript Float32数组抛出无法读取属性'0'即使数组定义良好,也为null
- 未捕获的类型错误:无法读取属性'中止'的未定义
- 角度推入数组给出:TypeError:无法读取属性'推'的未定义
- http/rxjs catch回调中的Angular 2重定向导致TypeError:无法读取属性'订阅'
- Javascript未捕获类型错误:无法读取属性'0'的未定义
- jQuery控制台错误:无法读取属性'top'的未定义
- TypeError:无法读取属性'findAll'的未定义