Oh! Yummy!!

プログラミングとか投資のこととかご飯のこととかを書きます。

AJAXを使ったときにHTTP status 400 で苦しんだ話

Javaのアプリケーションを作成していたら、AjaxのリクエストがHTTP status 400 BAD REQUEST になって苦戦した。


他の環境では同じリクエストが使えるし、なんなんやろ?と頭を悩ませること2時間・・・
Tomcatのログを見ていたら、「RFC」とかいう見慣れない文字が出現。

原因は、URLパラメータに設定してた、jsonの「{」という文字が、あるバージョンのTomcatで利用できないからだった。
バージョンが違うから別の環境だと問題なく動いていたらしい。


回避策としては2つあるらしい。
1. Tomcat側でその文字を利用可能にする。
2. クライアント側で、URLエンコードする。

セキュリティとか詳しくないけど、Tomcatの設定を変えるのは危ないという勘を信じて、
クライアント側でURLエンコードすることにして一件落着。


ミドルウェア系全然詳しくないから勉強せねば。。(得意な人に任せようかな。)

ja.stackoverflow.com