Adobe Flex3 の Httpservice で配列を送信する方法
LANE
質問する
9796 次
4 に答える
7
配列をhttpserviceに送信するという意味がよくわかりません。同じフィールド名で配列を httpservice に送信する場合は、配列をフィールド値として渡すことができます。
var service:HTTPService = new HTTPService();
service.useProxy = true;
service.destination = "myservicet";
service.resultFormat = HTTPService.RESULT_FORMAT_XML;
var fields:Array = ["categories", "organisation"];
var params:Object = new Object();
params.q = "stackoverflow";
params.rows = 0;
params.facet = "true";
params["facet.field"] = fields;
service.send(params);
HTTPService はこれを url パラメーターに変換します。
facet=true&q=stackoverflow&facet%2Efield=カテゴリ&facet%2Efield=組織&rows=0
お役に立てれば!
より明確にするために追加されました。配列に引数が 1 つしかない場合は、フィールドを配列として渡さないでください。何らかの理由で、flex はこれを http サービスに送信しません。
于 2009-01-12T14:13:25.573 に答える
2
それは、使用しているバックエンド テクノロジが何であるかに大きく依存します。PHPに送信している場合は、次を試すことができます。
var fields:Array = ["categories", "organisation"];
var params:Object = {};
params.q = "stackoverflow";
params.rows = 0;
params.facet = "true";
params["facet.field[]"] = fields;
service.send(params);
PHP が配列を生成します。AFAIR これは Rails でも問題なく動作します。
于 2009-06-18T16:47:34.560 に答える
0
単純な文字列配列の場合は、よく知られている区切り文字で結合し、他のサイトでは、同じ区切り文字で文字列を分割して配列に戻すことができます。
于 2009-01-15T16:34:51.340 に答える
0
単純な配列の場合は、カンマ区切りの文字列として送信できます。
httpService.request = 新しいオブジェクト;
httpService.request.csv = array.toString();
于 2009-08-14T09:16:20.240 に答える