javascript - 如何从 MVC Controller 方法中的 HTTP Post 方法提取数据?

标签 javascript spring-mvc

我试图为我们正在构建的网页实现一些客户端日志记录。这个想法是针对客户端上的一些特定错误事件,当某些关键信息没有从服务器端返回时(页面上的信息是从多个服务聚合的),就会发生这些错误事件。

在我的客户端 Javascript 上,我有:

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

在我的服务器端 Controller 上,我想要:

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

现在,我不太确定如何访问 Controller 中的错误消息字符串。我尝试了上述方法,字符串为“null”。我考虑的另一种方法是将错误消息字符串作为 @RequestParam 放入请求 URL 中,如下定义:here 。 但我对此有点犹豫,因为我觉得消息不应该真正成为 URL 参数的一部分。我确信我在这里遗漏了一些非常明显的东西(比如创建一个错误消息对象作为“模型”的一部分或类似的东西),但我的问题是我是 MVC 和 Web 开发世界的新手,并且没有看过在模型/ View 代码中,只有“ Controller ”代码。非常感谢任何能让我走上正轨的提示。

最佳答案

使用@ModelAttribute注释:

客户端

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

服务器端

logErrorMessage(@ModelAttribute(name="error") 字符串 errorMessage ...

关于javascript - 如何从 MVC Controller 方法中的 HTTP Post 方法提取数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15010876/

相关文章:

java - Spring @SessionAttributes 和 "Cannot create a session after the response has been committed"

javascript - 如何使用 JavaScript 隐藏和显示多个 Div

javascript - 将多维 JSON 打印为 html 表单输入,名称为属性的 xpath

javascript - 如何避免 js setInterval() 函数首次启动时出现延迟

java - Spring MVC 重定向是在 url 中添加一些参数

spring mvc applicationcontext.xml 和 spring servlet.xml 区别

java - 集成测试将整个对象发布到 Spring MVC Controller

javascript - 以 Angular 动态加载js脚本或js代码

java - 是否有与 Javascript 的 "some"方法等效的 Java?

java - 如何在 spring 的属性文件中设置占位符值