(HTTPリクエストでサーバにパラメータを投げる時の処理について、どうすれば良いか迷ってたので備忘として記録)
サーバに渡したいパラメータ例
"fooname"と"id"だけなら、よくあるHttpClient()の使い方に記載されているけど
”imagename"のような配列も一緒にサーバへPOSTしたい場合はどうすればよいか?
{
"fooname" => "hoge";
"id" => 1;
"imagename" => Array( "hogeimg1", "hogeimg2" );
}
サンプルコード(モバイル側)
ポイントはJSON.stringify()を使って
JSON文字列にしてから、サーバへリクエスト
var xhr = Titanium.Network.createHTTPClient();
var param = {
'fooname': "hoge",
'id': 1,
'imagename': JSON.stringify(new Array("hogeimg1","hogeimg2"))
};
xhr.open('POST',"http:// ");
xhr.send(param);
サーバ側の処理
'imagename'はJSON文字列であるためオブジェクト(配列)に変換する必要がある。
各言語で用意されたJSONデコード関数*1を利用すればよい。