2013-02-21 84 views
1

我正在尝试为我们正在构建的网页实现一些客户端记录。这个想法是针对客户端的一些特定的错误事件,当服务器端没有返回一些关键信息(页面上的信息是从多个服务聚合的)时会发生这些事件。如何从MVC控制器方法中的HTTP Post方法提取数据?

在我的客户端的JavaScript,我有:

$.ajax({ 
    url: 'MyURL', 
    type: 'POST', 
    data: 'MyErrorMessage', 
}); 

而我的服务器端控制器上,我想有:

@RequestMapping(value = "MyURL", method = RequestMethod.POST) 
protected ModelAndView logErrorMessages(String errorMessage) 
{ 
    /* Log the error message using the server side logging framework */ 
} 

现在,我不完全知道如何访问控制器中的错误消息字符串。我尝试了上面的方法,String是'null'。我考虑的另一种方法是将错误消息字符串作为@RequestParam放入请求URL中,如此处所定义的:here。 但是我对此做了些微小的调整,因为我觉得消息不应该是URL参数的一部分。我确信我错过了一些非常明显的东西(比如创建一个错误消息对象作为'模型'的一部分或类似的东西),但我的问题是我是MVC和Web开发领域的新手,并没有看过在模型/视图代码中,只有'控制器'代码。任何可以让我走上正确轨道的提示非常感谢。

回答

0

使用@ModelAttribute注解:

客户端

数据: “错误= '系统错误'” ...

服务器端

logErrorMessage(@ModelAttribute(名=“error”)字符串errorMessage ...

相关问题