Javascript AJAX调用未向控制器方法发送数据

Javascript AJAX调用未向控制器方法发送数据,javascript,java,jquery,ajax,spring-mvc,Javascript,Java,Jquery,Ajax,Spring Mvc,这是我的JavaScript文件中的内容: $(document).ready(function () { $('#add-be-submit').click(function (event) { event.preventDefault(); $.ajax({ type: 'POST', url: '/snapdragon/blog/new', data: JSON.stringify({ EntryNa

这是我的JavaScript文件中的内容:

$(document).ready(function () {
$('#add-be-submit').click(function (event) {
    event.preventDefault();

    $.ajax({
        type: 'POST',
        url: '/snapdragon/blog/new',
        data: JSON.stringify({
            EntryName: $('#add-be-title').val(),
            EntryBody: CKEDITOR.instances.addBeBody.getData()
        }),
        contentType: 'application/json; charset=utf-8',
        headers: {
            'Accept': 'application/json',
            'Content-Type': 'application/json'
        },
        dataType: 'json'
    }).success(function (data, status) {
        $('#add-be-title').val('');
        CKEDITOR.instances.addBeBody.getData('');
    });
});
这是我的控制器中的内容:

/* ---------- ADD BLOG ENTRTY ---------- */
@RequestMapping(value = "/new", method = RequestMethod.POST)
@ResponseStatus(HttpStatus.CREATED)
public void addBlogEntry(@Valid @RequestBody BlogEntry entry) {
    dao.addBlogEntry(entry);
}
控制器本身的RequestMapping设置为“/blog”。我找不到问题。我在“dao.addBlogEntry(entry)”上设置了一个断点,发现传入的对象的EntryName和EntryBody值为null。但是,当我在JavaScript控制台中检查“$('#add be title').val()”和“CKEDITOR.instances.addBeBody.getData()”的值时,它们的值是正确的


有什么想法吗?

区分大小写在Ajax中也很重要

请检查BlogEntry类中EntryNameEntryBody变量的大小写敏感度

声明的变量应采用驼峰式大小写,如“entryBody”和“entryName”,相应的设置器应为getEntryBody()、setEntryBody()等


因此,请修改ajax调用中的数据属性以及类中的变量,使用相同的大小写(驼峰大小写),即“entryBody”和“entryName

大小写敏感度在ajax中也很重要

请检查BlogEntry类中EntryNameEntryBody变量的大小写敏感度

声明的变量应采用驼峰式大小写,如“entryBody”和“entryName”,相应的设置器应为getEntryBody()、setEntryBody()等


因此,请使用相同的大小写(驼峰大小写)修改ajax调用中的数据属性以及类中的变量,即“entryBody”和“entryName

如果允许GETMay在浏览器的开发工具中检查请求消息,浏览器中会返回什么。我指的是devTools中的Network/Net选项卡。您可以找到您的请求消息、头等等。当我允许get时,会出现400个错误的请求错误,并且会出现500个内部服务器错误,如上所述。错误代码为,“HTTP状态500-请求处理失败;嵌套的异常是org.springframework.dao.DataIntegrityViolationException:您需要映射RequestMethod.GET以从browser@mplungjan我该怎么做?将控制器中的RequestMethod更改为GET,将ajax调用更改为GET?如果允许GET,浏览器中会返回什么?可能是浏览器开发工具中的check request消息。我指的是devTools中的Network/Net选项卡。您可以找到您的请求消息、头等等。当我允许get时,会出现400个错误的请求错误,并且会出现500个内部服务器错误,如上所述。500错误显示为:“HTTP状态500-请求处理失败;嵌套异常为org.springframework.dao.DataIntegrityViolationException:您需要映射RequestMethod.GET以从browser@mplungjan如何做到这一点?将控制器中的RequestMethod更改为GET,将ajax调用更改为GET?