首页 > 解决方案 > Ajax 调用数据不绑定

问题描述

我正在尝试通过 ajax 调用将我的表单与控制器中的 modelattribute 绑定,但我没有得到 bean 中的值,例如 bean 的所有值都是 null

我在 alert() 中打印了表单数据,它显示了正确的数据,但在控制器中显示了 null

这是我的 ajax 调用和 console.log() 打印我想要的任何东西,但在控制器中我没有得到我的数据。

阿贾克斯调用::

function viewBugReport(data) {

    var formdata=$("#getAppForm_"+data).serialize();
    console.log(formdata);
        $.ajax({

            url : 'displaybugreport.html',
            data :formdata,
            processData : false,
            contentType : false,                
            type : 'POST',
            success : function(data) {
            alert(data);
            }
        });
}

控制器代码::

@ResponseBody
@RequestMapping(value = "/displaybugreport.html")
public String viewBugReport(@ModelAttribute BugReportBean1 bugreportbean, 
 HttpSession session) {


    String ResultMessage = "something went wrong!!";
    String adminId = "X";

    System.out.println(bugreportbean); 
    try {
        AdminBean adminBean = (AdminBean) httpSession.getAttribute(SESSION_KEY_ADMIN);
        adminId = adminBean.getUserId().trim();
         ResultMessage = bugReportService.submitBugReport(bugreportbean);

    } catch (Exception e) {
        logger.debug("GADG:" + adminId
                + " :: Exception occured :: viewBugReort POST method :: BugReportController class");
        e.printStackTrace();
    }
    return ResultMessage;
}

标签: javaspring-mvc

解决方案


由于我看不到完整controller内容,并且您没有HTTP在所需的方法中提到任何方法endpoint,您可以尝试这样:

@RequestMapping(value = "/displaybugreport.html", method = RequestMethod.POST)

推荐阅读