405方法不允许错误在启动时出现但随后消失

时间:2012-09-20 11:13:57

标签: jquery spring tomcat spring-mvc

我正在处理包含提要和评论(例如状态和评论)的应用程序。 当我添加一个新的饲料,它工作正常,新的饲料添加。当我开始在Feed上添加评论时,我得到了

“405方法不允许”。

但是当我刷新页面然后开始添加评论时,评论会成功添加。 任何人都可以告诉我为什么会这样。 我使用相同的jquery / ajax来添加提要和评论。

以下是代码:

 $.ajax({
            type : "POST",
            url : loc,
            cache : false,
            data : message,
            crossDomain : true,
                dataType : "json",
    //      dataType : "jsonp",
            success : function(data) {
                alert("feed/comment added");                
                }
            }
        });

PS:我正在使用Spring和Tomcat。我正在使用相同的功能来添加提要和评论。

1 个答案:

答案 0 :(得分:0)

当您访问该页面时,您的浏览器会向服务器发出HTTP GET请求。但是,当您请求添加注释时,您正在发送HTTP POST请求。似乎服务器配置为仅接受GET(可能是其他),但不接受POST请求。

你可以尝试

$.ajax({
        type : "GET",
        url : loc,
        cache : false,
        data : message,
        crossDomain : true,
            dataType : "json",
//      dataType : "jsonp",
        success : function(data) {
            alert("feed/comment added");                
            }
        }
    });

或者,如果服务器是您的,只需将其配置为接受POST请求。

编辑: 进一步思考,可能还会涉及更多的复杂性(基于它在页面刷新后工作的事实)。可能会发送类似HTTP PUT(或HTTP OPTIONS)请求的内容,从而导致问题。理想情况下,您需要查看服务器日志以找出导致问题的请求。