我正在尝试为我们正在构建的网页实现一些客户端日志记录。这个想法是客户端的一些特定错误事件,当某些关键信息没有从服务器端返回时(页面上的信息是从多个服务聚合的),就会发生这种情况。
在我的客户端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 */
}
现在,我不确定如何访问控制器中的错误消息字符串。我尝试了上面的方法,字符串是' null'。我考虑的另一种方法是将错误消息字符串作为@RequestParam
放入请求URL,如下所示:here。
但是我对此感到有点狡猾,因为我觉得消息不应该真正成为URL参数的一部分。我确信我错过了一些非常明显的东西(比如创建一个错误消息对象作为' Model'或类似的东西的一部分),但我的问题是我是MVC和Web开发世界的新手并且没有查看模型/视图代码,只有'控制器'码。任何能让我走上正轨的提示都非常受欢迎。
答案 0 :(得分:0)
使用@ModelAttribute注释:
客户端
数据:“错误='系统错误'” ...
服务器端
logErrorMessage(@ModelAttribute(name =“error”)String errorMessage ...