Google App EngineでDELETEリクエストを発行するときの注意点

$.ajax({type:"DELETE", url:'/hoge'});

こんな感じでGAEサーバにDELETEリクエストを送ると、ローカルでは正常に動くのに本番環境では400がでる><。

原因

調べてみるとDELETEリクエストがbodyを含んでいると駄目ってことになっている模様。

Indeed, when the appspot frontends see a DELETE request that includes an body, such as your app, they return a 501. But, if you remove the body then it will serve a 200.

(現在は501ではなく400で返ってくる)

解決方法

明示的にbodyを空にしてDELETEリクエストを発行しましょう。

$.ajax({type:"DELETE", url:'/hoge', data:''});