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

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

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

Регистрация: Oct 2009
Адрес: Донецк
Сообщений: 16
По умолчанию Как передать двумерный массив методом Post в скрипт php?

Как передать переменные методом post я знаю:
Код AS3:
function send_post(e:Event):void
{
	var gid = '17157755';
	var mess = 'flapps.ru';
 
	var loader:URLLoader = new URLLoader();
	var request:URLRequest=new URLRequest('http://flash/post.php'); // адрес вашего скрипта
	request.method=URLRequestMethod.POST;
 
	var vars:URLVariables = new URLVariables();
	vars['gid']= gid;
	vars['mess']=mess;
 
	request.data=vars;
	loader.addEventListener(Event.COMPLETE, onCompletePost);
	loader.load(request);
 
}
 
function onCompletePost(event:Event):void {
	// выводим полученные данные в поле result_tf
	result_tf.text=loader.data;
}
А как двумерный массив передать? Например
vars[1][letter], vars[1][frame], vars[2][letter], vars[2][frame]? Можно ли это как-то сделать?

Старый 29.04.2012, 01:04
bav вне форума Посмотреть профиль Отправить личное сообщение для bav Найти все сообщения от bav
  № 2  
Ответить с цитированием
bav
 
Аватар для bav

Регистрация: Oct 2010
Сообщений: 1,049
Отправить сообщение для bav с помощью ICQ
Может использовать JSON?

Старый 29.04.2012, 01:09
ramshteks вне форума Посмотреть профиль Отправить личное сообщение для ramshteks Найти все сообщения от ramshteks
  № 3  
Ответить с цитированием
ramshteks
 
Аватар для ramshteks

Регистрация: Jul 2007
Сообщений: 805
Отправить сообщение для ramshteks с помощью ICQ Отправить сообщение для ramshteks с помощью Skype™
или XML. Ваша задача конвертировать ваш двумерный массив в удобоваримый для php формат. Какой у вас там используется, вы лучше знаете.
Сконвертированная строка записывается так же в какую либо переменную URLVariables

Старый 29.04.2012, 02:26
ChuwY вне форума Посмотреть профиль Отправить личное сообщение для ChuwY Посетить домашнюю страницу ChuwY Найти все сообщения от ChuwY
  № 4  
Ответить с цитированием
ChuwY
 
Аватар для ChuwY

Регистрация: Nov 2009
Адрес: Тула / Москва
Сообщений: 734
Отправить сообщение для ChuwY с помощью ICQ Отправить сообщение для ChuwY с помощью Skype™
Как-то так:

Код AS3:
private function sendArray(array2d : Vector.<Array>):void{
  var request : URLRequest = new URLRequest(_apiServerURL);  
  var data    : URLVariables = new URLVariables();
 
  for(var i : int = 0; i < array2d.length; i++){ 
    var col : Array = array2d[i];
    data["array2d[" + i + "][]"] = col;    
  }
 
  request.data   = data;
  request.method = URLRequestMethod.POST;
 
  _loader.load(request);   
}
__________________
9 из 10 голосов в моей голове сказали наркотикам "НЕТ"
Мои ачивки: художник-паразит.


Последний раз редактировалось ChuwY; 29.04.2012 в 02:32.
Старый 29.04.2012, 11:35
wvxvw вне форума Посмотреть профиль Отправить личное сообщение для wvxvw Найти все сообщения от wvxvw
  № 5  
Ответить с цитированием
wvxvw
Modus ponens
 
Аватар для wvxvw

модератор форума
Регистрация: Jul 2006
Адрес: #1=(list #1#)
Сообщений: 8,049
Записей в блоге: 38
Если вы присвоите:
Код AS3:
var variables:URLVariables = new URLVariables();
variables.letter = [1, 2];
trace(variables);
то получите: ?letter=1&letter=2 в запросе. Большинство парсеров запроса понимают это как массив.
Естесственно, имейте в виду ограничения - далеко не каждый объект можно таким образом записать. Да и вообще, этот формат не самый подходящей для передачи большого количества информации. Так что если нужно посылать много структурированных данных, то AMF / JSON / CSV и т.д.
__________________
Hell is the possibility of sanity

Старый 29.04.2012, 22:55
nitsik вне форума Посмотреть профиль Отправить личное сообщение для nitsik Найти все сообщения от nitsik
  № 6  
Ответить с цитированием
nitsik

Регистрация: Oct 2009
Адрес: Донецк
Сообщений: 16
Всем спасибо. Решил использовать json.
Код AS3:
import com.adobe.serialization.json.JSON;
 
function send_post(e:Event):void
{
 
 
	var loader:URLLoader = new URLLoader();
	var request:URLRequest=new URLRequest('http://flash/json.php'); // адрес вашего скрипта
	request.method=URLRequestMethod.POST;
 
	var vars:URLVariables = new URLVariables();
	var str:String = JSON.encode(obj);
	vars['post'] = str;
 
	request.data=vars;
	loader.addEventListener(Event.COMPLETE, onCompletePost);
	loader.load(request);
 
}
 
function onCompletePost(event:Event):void {
	trace('отправлено');
}

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

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

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


 


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


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