AJAX POST返回404 Spring

时间:2018-06-17 10:23:55

标签: javascript jquery spring

我正在尝试使用AJAX进行POST调用。这是我的控制器:

    @RequestMapping(method = RequestMethod.POST, value = "/submitsignup")
    @ResponseBody
    public String persistSignupData(@RequestBody SignupModel signupModel) {
        signupDaoImpl.persistSignupData(signupModel);
        return "success";
    }

使用Javascript:

$(document).ready(function() {
    $("#password2").keyup(checkPasswordMatch);
    $('#signup-button').click(function() {
        $.ajax({
            type: "POST",
            url: "/cinestop/submitsignup",
            data: JSON.stringify(getFormDataJSON()),
            contentType: "application/json",
            dataType: "json"
        });
    });
});

当我拨打电话时,会返回404。到目前为止,我一直无法调试此问题。我做错了什么?

4 个答案:

答案 0 :(得分:1)

避免对JSON进行字符串化,因为您期望的datatType是JSON。

@Cache    
def fibonacci(n):
    return n if n in (0, 1) else fibonacci(n - 1) + fibonacci(n - 2)

答案 1 :(得分:1)

  

当我拨打电话时,会返回404。

你确定你在你的ajax部分放了正确的网址吗? HTTP错误404通常意味着您要求的文档无法加载,因为它

  1. 不存在
  2. 它不可读
  3. 文档的mime类型未定义(通常是普通网络服务器的问题,我不认为这与您的特定设置匹配)
  4. 相关代码的引用

    url: "/cinestop/submitsignup",
    
    
    @RequestMapping(method = RequestMethod.POST, value = "/submitsignup")
    

答案 2 :(得分:1)

首先尝试逐步调试应用程序

postmancurl或任何其他其他客户端尝试点击post调用,有效负载正文为空JSON。如果这也返回404,那么是一个服务器问题。如果它成功或抛出任何java错误,那么我们知道它是UI错误。还要确保将内容类型标题添加为“application/json'

这将有助于隔离问题并帮助我们快速解决问题

答案 3 :(得分:0)

尝试运行此解决方案:

var settings = {
        "url": "/cinestop/submitsignup",
        "method": "POST",
        "headers": {
              "Content-Type": "application/json"
        },
        "data": getFormDataJSON()
}

$.ajax(settings).done(function (response) {
     console.log(response);
});