SpringMVC,带ajax的jQuery-获取415

SpringMVC,带ajax的jQuery-获取415,jquery,ajax,spring-mvc,http-status-code-415,Jquery,Ajax,Spring Mvc,Http Status Code 415,我正在使用Jquery发送一个AJAX POST请求。成功时,我需要将用户重定向到不同的页面,失败时,我希望使用相同的数据停留在页面上 我有两个问题 成功后,它不会重定向,而是停留在相同的URL上&给出415 失败时,我得到的是415而不是呈现的页面 这是我的密码: var jsonResponse = []; //jsonResponse is being constructed from the form data, on submit. var req = {

我正在使用Jquery发送一个AJAX POST请求。成功时,我需要将用户重定向到不同的页面,失败时,我希望使用相同的数据停留在页面上

我有两个问题

  • 成功后,它不会重定向,而是停留在相同的URL上&给出415
  • 失败时,我得到的是415而不是呈现的页面
  • 这是我的密码:

     var jsonResponse = [];
     //jsonResponse is being constructed from the form data, on submit.
    
     var req = {
                "name" : "${name}",
                "id" : "${id}",
                "data" : jsonResponse
        };
    
    
     $.ajax({
            url: "url",
            type: "POST",
            dataType: 'json',
            contentType:'application/json',
            async: false,
            data: JSON.stringify(req),
            success: function(result) {
    
                url = window.location.href;
                url = url.replace("processData", "getData");
                alert(url); //prints localhost:8000/getData
                location.href = url; //stays on localhost:8000/processData
            },
            error: function() {
                alert("--- Failure ---");
                // should stay on same page with the previous data, but
                //returns a 415.
            }
        });
    
    url1的控制器

     @RequestMapping(value = "processData", method = RequestMethod.POST)
    public String post( Model model,
                        HttpServletRequest httpServletRequest, 
                        @RequestBody FormModel model) {
    
    }
    
    url2的控制器:

    @RequestMapping(value = "getData", method = RequestMethod.GET)
    public String get(Model model, HttpServletRequest httpServletRequest)
    {
    }
    
    我正在附加收到的错误消息的快照。


    我在这里做错了什么?

    问题在于表单。我有一个提交按钮,它在AJAX调用结束后也提交数据。所以我不得不删除这个功能

     $('form').on('submit', function(e) {
        e.preventDefault();
    
    最初:

    <input type="Submit" value="Submit" />
    

    下面是我问的一个问题的答案:

    如果ajax参数有效,您是否会尝试从中删除contentType:'application/json'。您是否会从您的ajax调用中得到此错误作为响应?或者在执行成功/错误函数时?@Patel在执行成功/错误回调时,它会打印警报(),然后呈现415异常。@arunbahal它不起作用。删除后,控件甚至无法到达控制器。您尚未共享完整URL。如果您提供完整的URL以及所传递的数据,那将是非常棒的
     $('form').on('submit', function(e) {
        e.preventDefault();