- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我想使用 JQuery 向 Spring Controller 发送 POST 请求,但我不断从 jquery 收到此错误
Could not read document: Unrecognized token 'contactForm': was expecting ('true', 'false' or 'null')
at [Source: java.io.PushbackInputStream@38220bcd; line: 1, column: 13]; nested exception is com.fasterxml.jackson.core.JsonParseException: Unrecognized token 'contactForm': was expecting ('true', 'false' or 'null')
at [Source: java.io.PushbackInputStream@38220bcd; line: 1, column: 13]
这是 POST 请求
$('#contactForm').on('submit', function(e){
e.preventDefault();
var contactForm = new Object;
var firstName = $('#firstName').val();
var lastName = $('#lastName').val();
var email = $('#email').val();
var message = $('#message').val();
contactForm.firstName = firstName;
contactForm.lastName = lastName;
contactForm.email = email;
contactForm.message = message;
contactForm.accepted = true;
console.log(JSON.stringify(contactForm));
$.ajax({
type: 'POST',
url: '/checkContact.json',
contentType : 'application/json; charset=utf-8',
dataType: 'json',
data: {
contactForm: JSON.stringify(contactForm)
},
success: function(response){
console.log(response)
$('#success').text(response.message);
},
error: function(data){
console.log(data.responseJSON.message);
}
})
})
这是 Controller
@PostMapping("/checkContact.json")
public @ResponseBody String sendContactForm(@Valid @RequestBody ContactForm contactForm, BindingResult result, HttpServletRequest request) throws MalformedURLException, JsonProcessingException{
//logic here
}
和联系表格
public class ContactForm {
@NotNull
@NotEmpty
@ValidEmail
private String email;
@NotNull
@NotEmpty
private String firstName;
@NotNull
@NotEmpty
private String lastName;
@NotNull
@NotEmpty
private String message;
// @AssertTrue
private boolean accepted;
//getters and setters
}
我不知道到底发生了什么,因为例如,如果我尝试使用带有此正文的 POSTMAN 向 Controller 发送 JSON,这与 JSON.stringify(contactForm)
,一切都很顺利,所以 jackson 在幕后做了一些奇怪的事情......
{
"fistName": "John",
"lastName": "Smith",
"email": "a@a.aa",
"message": "Hello"
"accepted":true
}
最佳答案
在您的 jQuery ajax 调用中调整您的数据值:
$.ajax({
type: 'POST',
url: '/checkContact.json',
contentType : 'application/json; charset=utf-8',
dataType: 'json',
data: JSON.stringify(contactForm),
success: function(response){
console.log(response)
$('#success').text(response.message);
},
error: function(data){
console.log(data.responseJSON.message);
}
})
发生的事情是 jQuery 正在将您的对象转换为查询参数字符串并发送它。这看起来像:
contactForm=%7B%22fistName%22%3A%22John%22%2C%...
Jackson 尝试将查询参数解释为失败的请求正文。
这可以通过查看浏览器中的网络选项卡并查看请求正文来确认
关于jquery - Jackson 无法读取文档 : Unrecognized token 'contactForm' : was expecting ('true' , 'false' 或 'null' ),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47818687/
我有一个在 bootstrap 中制作的联系表。当我检查元素时,我发现它从 .well 类中获取 CSS 属性 在这个类中,背景颜色设置为: background-color: #f5f5f5; 我修
我正在尝试构建一个 e_commerc django 应用程序,但我遇到了一个错误,而且有点令人困惑。我的错误是: Environment: Request Method: GET Request U
无论我以何种方式实现我的表单,我都会收到以下错误。当我转到表单的 URL 时会发生这种情况。 表单.py class ContactForm(forms.ModelForm): class M
我正在尝试使用 flask 创建联系表单,但在呈现页面时不断出现此错误。 'forms.ContactForm object' has no attribute 'hidden_tag' 这是我的文件
任何人都可以分享一些指南、技巧或链接,这些指南、提示或链接是什么构成创建模型的最佳实践的最佳实践,该模型表示没有由数据库中的表备份但仍然可以验证输入的数据的联系表单? 谢谢。 编辑:我忘了提到,如果它
我想使用 JQuery 向 Spring Controller 发送 POST 请求,但我不断从 jquery 收到此错误 Could not read document: Unrecognized
我是一名优秀的程序员,十分优秀!