IEのGETクエリの最大長制限を思い知る
スポンサード リンク
Internet ExplorerにはURLに使える文字数は2038文字という制限がある。
Amazon E-Commerce Serviceでカートに複数アイテムを追加するときは、Item.1.ASIN=xxxxxxxxxx&Item.1.Quantity=1という形式のパラメータを複数与えなければならない。このリクエストをAjaxでサーバのプログラム経由で送るとき商品の数が多すぎると、このIEのGETの最大長に引っかかってしまう。
Firefoxでは正常に動作するのにIEではなぜか動かなくて、エンコードが原因だろうかとか色々調べた結果、送信しているクエリが長すぎただけだった。
scriptタグを生成してdocument.lastChild.appendChild(script)として、コールバック関数でJSONを処理させたかったのでGETクエリになっていた。POSTなら制限がないはずなので、prototype.jsを使ってPOSTメソッドで送信するようにしてみたのだが、うまくいかなかった。やり方がマズかったかな。それともAjaxでPOST送信する場合にはIEではGETと同じ最大長制限がつくのだろうか?
無理にAjaxでやる必要もないのだが、画面遷移のないアプリケーションにしたいのでこだわっている。
[追伸]
明日(というか今日)は百式 x Yahoo! 主催の忘年会議に参加してきます。そのあとの忘年会ももちろん参加で。
前のエントリー: « ジャスダックが女性起業家向けSNSを開始予定?
次のエントリー: Googleニュース(日本語版)のRSSフィード »
トラックバック
このエントリーのトラックバックURL:
タイトル:
URL:
リンク用HTMLタグ:
powered by Google Chart API




