jquery - 所需的字符串参数 'userName' 不存在

标签 jquery spring spring-mvc

我正在尝试从 java 脚本控制台进行 AJAX 调用,如下所示

jQuery.ajax({
  contentType: "application/json",
  url: "/accountServices/resetPassword",
  type: "POST",
  data: '{
        "userName":"local_student",
        "newPassword":"test1231",
        "guid":"376ed5f7-a780-455e-8682-6b5cf45cff80"
         }'
}); 

我的 Controller 方法是这样的。

@RequestMapping(value = "/resetPassword", method = RequestMethod.POST)
public String resetPassword(@RequestParam("userName") String userName,
                            @RequestParam("newPassword") String newPassword,
                            @RequestParam("guid") String guid, Model uiModel, 
                            HttpServletRequest request, final Locale locale) 
                            throws MessagingException {
        try {}
}

我收到错误

所需的字符串参数“userName”不存在。

有人可以帮我吗?

最佳答案

你需要改变你的

data: '{
        "userName":    "local_student",
        "newPassword": "test1231",
        "guid":        "376ed5f7-a780-455e-8682-6b5cf45cff80"
       }'

data: {
        userName:    "local_student",
        newPassword: "test1231",
        guid:        "376ed5f7-a780-455e-8682-6b5cf45cff80"
      }

没有

  1. '{
  2. 之前
  3. " 同时包装 userName

关于jquery - 所需的字符串参数 'userName' 不存在,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27724723/

相关文章:

javascript - 为什么我不能禁用ajaxToolkit :AsyncFileUpload

java - 如何在应用程序启动时使用 Spring Cloud Stream 发布消息?

java - Thymeleaf 使用路径变量到 :href

java - Spring FilterChain + 安全 : log request with user or not

javascript - 如何应用 var height = $(window).height() - 20; .followTo() 函数

jquery - YouTube视频Urls,Chrome扩展程序-jQuery文档已准备就绪,无法触发

jquery - 防止动画应用于 <li> 内的 <a>

java - Spring jdbcTemplate - 连接已关闭

java - 如果我通过 ApplicationContext getBean 方法检索它,则在非托管 Spring 类中获取一个 bean 实例

spring-mvc - 将Unix时间戳转换为Java日期,Spring RequestParam