0

フィードとコメント (ステータスとコメントなど) を持つアプリケーションに取り組んでいます。新しいフィードを追加すると、正常に機能し、新しいフィードが追加されます。フィードにコメントを追加し始めると、

「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 を使用しています。フィードとコメントを追加するために同じ機能を使用しています。

4

1 に答える 1

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) リクエストのようなものが送信され、問題が発生している可能性があります。理想的には、サーバー ログを調べて、問題の原因となっている要求を特定します。

于 2012-09-20T11:18:11.970 に答える