F.Ko-Jiの「一秒後は未来」

AjaxでPOSTのリクエストを送信したい時は

AjaxでPOSTのリクエストを送信する方法を色々調べていた。

まず役に立つのは、ALL Aboutで連載されている「Ajaxはじめの一歩 XMLHttpRequest」である。XMLHttpRequestについてはこのページを見れば大体分かる。POSTの場合は、POSTするデータをsendメソッドの引数に与えなければならない。形式は、

“key1=value1&key2=value2&key3=value3”

のような感じで大丈夫。ちなみにGETのリクエストの場合は、sendの引数はnullで、openメソッドの引数にGET用のURLを記述すればよい。

それともう一つ、Content-Typeを明示してあげなければ正しくPOSTされない場合があるので注意。

蓄積多趣味人 – XMLHttpRequestでpostメソッドを使うときはに書かれているように、

req.setRequestHeader(“Content-Type”, “application/x-www-form-urlencoded”);(reqはXMLHttpRequestのオブジェクト変数)

を、openメソッドの後に記述する必要がある。私も1時間ほどハマりました。

PerlでもHTTP通信をするためのLWPモジュールがあるが、HTTPS通信にはCrypt::SSLeayモジュールを組み込む必要がある。一方、AjaxでXMLHttpRequestを使う場合は、プロトコルがHTTPであろうがHTTPSであろうが気にする必要はない。

Ajaxは、受け取ったレスポンスデータを加工して表示する部分のほうが格段に難しいと感じる。その辺りの実装については、時間のある時にまた書いてみる。

  • 超・役に立つAjaxリンク集(by はてなブックマーク)

    1. itoh より:

      情報THX。助かりました!

    2. F.Ko-Ji より:

      お役に立ててなによりです

    コメントを残す

    メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

    著者について

    fkoji

    F.Ko-Ji

    Webエンジニアやってます。最近は ドットインストール の開発がお仕事です。その傍ら、個人で Meity電車遅延なう梅酒.in#グラドル自画撮り部 の部室といったネットサービスを開発・運営してます。梅酒と草野球とリアル脱出ゲームが好きです。

    » 詳しいプロフィールや運営サービスの一覧など