Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Сообщения за день
 

Вернуться   Форум Flasher.ru > Flash > Flex

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 01.08.2010, 17:41
GырыDемон вне форума Посмотреть профиль Отправить личное сообщение для GырыDемон Найти все сообщения от GырыDемон
  № 1  
Ответить с цитированием
GырыDемон

Регистрация: Apr 2010
Сообщений: 3
По умолчанию Передача массива в качестве параметра при вызове send()

Есть ArrayCollection в которой храниться информации из таблицы. Как эту коллекцию передать в качестве параметра у HTTPService при вызове send().
Этот массив будет передан jsp, которая его уже должна будет обработать.


Последний раз редактировалось GырыDемон; 01.08.2010 в 17:43.
Старый 01.08.2010, 18:09
wvxvw вне форума Посмотреть профиль Отправить личное сообщение для wvxvw Найти все сообщения от wvxvw
  № 2  
Ответить с цитированием
wvxvw
Modus ponens
 
Аватар для wvxvw

модератор форума
Регистрация: Jul 2006
Адрес: #1=(list #1#)
Сообщений: 8,049
Записей в блоге: 38
HTTPService не сериализует данные.
ArrayCollection можно сериализовать, но см. п. 1.
Из чего следует, что:
- Может не нужно использовать ArrayCollection, а что-нибудь по-проще, строку, например?
- Может не нужно использовать HTTPService, а RemoteObject (а еще лучше NetConnection), например?
Есть еще варианты.
__________________
Hell is the possibility of sanity

Старый 01.08.2010, 18:17
GырыDемон вне форума Посмотреть профиль Отправить личное сообщение для GырыDемон Найти все сообщения от GырыDемон
  № 3  
Ответить с цитированием
GырыDемон

Регистрация: Apr 2010
Сообщений: 3
- Может не нужно использовать ArrayCollection, а что-нибудь по-проще, строку, например?
Записать все элементы в строку и передать ее?
Как это можно хорошо реализовать? Просто написать парсер у принмающий стороны для разбора?

Старый 02.08.2010, 00:19
Astraport вне форума Посмотреть профиль Отправить личное сообщение для Astraport Найти все сообщения от Astraport
  № 4  
Ответить с цитированием
Astraport
 
Аватар для Astraport

блогер
Регистрация: Sep 2009
Сообщений: 2,463
Записей в блоге: 2
Не знаю как на jsp, на PHP недавно делал так.
1. Во флексе педаем массив в строку:
Код AS3:
var myString:String = myArray.join();
2. Передаем этот параметр с помощью HTTPService:
Код AS3:
<s:HTTPService id="myService" result="myService_resultHandler(event)" 
					   fault="Alert.show(event.fault.faultString + '\n' + event.fault.faultDetail)" showBusyCursor="true" 
					   url="http://localhost/dir/send.php" method="POST">
			<s:request xmlns="">
				<myString>
					{myString}
				</myString>
 
			</s:request>
		</s:HTTPService>
3. В файле send.php собираем массив:

PHP код:
$str$_POST["myString"];
$myArray = array();
$myArray explode "," $str); 

Старый 02.08.2010, 02:39
Dimitry_II вне форума Посмотреть профиль Отправить личное сообщение для Dimitry_II Найти все сообщения от Dimitry_II
  № 5  
Ответить с цитированием
Dimitry_II

Регистрация: Jan 2010
Сообщений: 211
А я подключал JSON к флешу - конечно, лишние классы, но зато унифицированно и освобождает от ручной работы.

Старый 17.01.2014, 17:46
PainKiller вне форума Посмотреть профиль Отправить личное сообщение для PainKiller Найти все сообщения от PainKiller
  № 6  
Ответить с цитированием
PainKiller
 
Аватар для PainKiller

блогер
Регистрация: Sep 2011
Адрес: Москва
Сообщений: 533
Записей в блоге: 4
Тоже столкнулся с этим вопросом и самое простое решение которое я нашел:
Код AS3:
var urlVar:URLVariables = new URLVariables();
 
urlVar["brand[]"] = makeBrands(); //тут функция возвращает массив для отправки на сервер
 
myService.url ="http://somedoman.com/search.php";
myService.method = "POST";
myService.addEventListener(ResultEvent.RESULT, onSendData);
myService.send(urlVar);
В итоге на сервер отправляется запрос вида http://somedoman.com/search.php?brand[]=31&brand[]=32
и все в шоколаде :-)

Создать новую тему Ответ Часовой пояс GMT +4, время: 08:03.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


Часовой пояс GMT +4, время: 08:03.


Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.