ajax経由でフォームを投稿しようとしています。「405 メソッドは許可されていません」というエラーが表示されます。HTMLフォームのアクション部分にURLを入力し、ボタンをクリックして手動で送信すると、同じHTMLファイルが機能します(csrfの問題ではありません..rite?)。
何が問題なのですか?
ajax リクエストに同じメソッドを使用していることを確認してください。フォームに「POST」メソッドを使用し、ajax リクエストに「GET」メソッドを使用している可能性があります。
CSRF は 403 をスローする必要があり、メソッド (POST、GET、PUT、DELETE、...) が許可されていない場合は、405 エラー メッセージが表示されます。
編集: jqueryでフォームを送信してみてください:
// change the selector!
var data = $("form").serialize();
alert(data);
$.ajax({
type: "POST",
url: "/your-backend.php",
data: data,
});
これを行うと、firebug は何と言いますか?