记一次ajax post请求报错误405 方法不允许

背景:该方法为用户注册页面。有时候可以成功为200状态,有时候为405 方法不允许状态,特别费解和奇怪。
var jsonData = $("#experform").serialize();
      $.ajax({
          url: "${base}/common/register",
          type: "post",
          dataType: "json",
          data: jsonData,
          success: function (result) {
              layer.close(loading);
              if (result.status == "success") {
                  layer.confirm(result.info, {
                      icon: 1,
                      btn: ['确定']
                  }, function () {
                      window.location.href = "${base}/common/login";
                  });
              } else {
                  layer.alert(result.info, {icon: 2});
                  code();
                  $("#validateCode").val("");
              }
          }
      })
@RequestMapping(value = "/register", method = RequestMethod.POST)
@ResponseBody
public  Object  register(UserModel user  ,HttpServletRequest request,HttpSession session) throws Exception {}

刚一开始以为是方法js或者spring方法类型设置的不对,查找了不少资料走了不少弯路。后台报错也是说方法不允许,然后我打断点跟踪代码发现在发送邮件的时候报错。原来由于用户注册需要邮箱地址,我在测试环境随便填写的邮箱,导致邮箱不正确,代码里读取的模板位置也不对,程序内部发生错误导致405的发生,不一定非得是方法类型不对导致的。看到不能遇到问题就百度啊,还得跟踪一下具体的原因。

你可能感兴趣的:(java,js)