2008/07/22

[javascript]httpリクエストをPOSTで行う場合の注意点

AJAX:Getting Startedによると、
POSTでデータを送信する際に、リクエストのMIMEタイプを変更しなければならないそうです。

その際に、

httpRequest.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');

via:AJAX:Getting Started

とこれを入れないと、サーバーはPOSTしたデータを破棄してしまうそうです。

注意しなくては!!

後、データを送信する際に、
ウィリアムのいたずらの開発日記:AJAXでXMLHttpRequestのopenをPOST、sendに内容を送っても送信できない時に書かれていましたが、
msg = "パラメータ名1=" + 値1+ "&パラメータ名2=" + 値2 + ・・・・ "&パラメータ名n=" + 値nと記載して、sendメソッドにmsgを入れてあげれば、データを送信することができます。

また、値が日本語の場合、encodeURIComponentか、encodeURIでエンコード変換が必要

送信先がColdFusionのサーバーだった場合、普通に、パラメータ名1で拾うことができて、url.パラメータ名1だとバグリます。

以上の注意点を踏まえて、POSTした際に処理を書いていきたいと思います。

0 コメント:

コメントを投稿