2008-10-31 3 views

ответ

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=categories&facet%2Efield=organisation&rows=0

Надеется, что это помогает!

Добавлено для большей ясности. Когда в массиве только 1 аргумент, не передавайте поля в виде массива. По какой-то причине flex не отправит это на http-службу

0

, если это простой строковый массив, вы можете join с хорошо известным разделителем char, а на другом сайте разделите строку на тот же разделитель назад к массиву.

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.

0

Если это простой массив, вы можете отправить его как строку, разделенную запятой.

httpService.request = новый объект;
httpService.request.csv = array.toString();