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

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

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

Регистрация: Aug 2014
Адрес: Где-то на поверхности планеты, какой хз
Сообщений: 113
Attention Session и Флеш

Понимаю тема двойная но думаю что лучше чем писатели флеш в этой теме никто не разберется. Дело в том что наблюдаю следующую картину. Флеш общается с сервером весьма успешно. Во флеш отправляю номер сессии через <param> ну вы поняли. Сама флеш общается на ура. отдает и получает инфу а вот когда эту инфу пытается получить страница тут ничего не полуается, пробовал даже передавать номер сесии в запросе который должен получить скрипт, но результат нулевой. Что делать не знаю по идее переменные что в запросе флеш что в запросе ajax идентичны но результат разный. Выручайте.

Старый 31.05.2015, 19:27
Psycho Tiger вне форума Посмотреть профиль Отправить личное сообщение для Psycho Tiger Найти все сообщения от Psycho Tiger
  № 2  
Ответить с цитированием
Psycho Tiger
 
Аватар для Psycho Tiger

блогер
Регистрация: Jun 2005
Адрес: Господи пожалуйста не Новосибирск
Сообщений: 6,598
Записей в блоге: 17
Я понял проблему. Это было непросто, признаться: номер сессии через param, пробовали через страницу (речь про HTML?) – не работает, пробовали в запросе который должен получить скрипт (а в первом случае – кто его должен получить?), а поверх – отсутствие запятых, что очень усложняет восприятие потока сознания.

Вообще говоря, я не знаю, что тут сказать. Я бы, наверное, знал если был бы пример кода работающего, и кода не работающего. А может – не знал бы. Откуда знать? Вот ты сделал А, получилось. Потом сделал Б, не получилось. Что такое А и что такое Б – никто, кроме тебя, не знает.

Попробуй вот что: вылей своё детище куда-нибудь, где оно будет доступно извне, сокращенное до самого минимально не-работающего примера, приведи код. Вылей флешку, приведи её код. Вылей страницу, приведи её код. Да такой, чтобы с комментариями, что вот тут я делаю А, а вот тут я делаю Б, да не просто так делаю, а делаю ого-го как, вот так! И тогда те, кто поопытнее сразу набегут и наперевес начнут помогать. Всем нравится решать задачи и головоломки, но только когда они оформлены красиво.

Кстати говоря, скорее всего ты сам поймешь где у тебя ошибка, как только начнешь "оформлять" код напоказ. Не совру если скажу, что 3/4 моих постов на stackoverflow (пацанское место для задания гиковских вопросов) не были не дописаны, потому что я понимал свою ошибку, как только её сформулировал.

Удачи!

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

Регистрация: Jun 2012
Адрес: Новосибирск
Сообщений: 6,644
Записей в блоге: 4
Цитата:
Кстати говоря, скорее всего ты сам поймешь где у тебя ошибка, как только начнешь "оформлять" код напоказ. Не совру если скажу, что 3/4 моих постов на stackoverflow (пацанское место для задания гиковских вопросов) не были не дописаны, потому что я понимал свою ошибку, как только её сформулировал.
Хах Точно подметил. У меня абсолютно так же)
Цитата:
Что делать не знаю по идее переменные что в запросе флеш что в запросе ajax идентичны но результат разный. Выручайте.
Значит не идентичны

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

Регистрация: Aug 2014
Адрес: Где-то на поверхности планеты, какой хз
Сообщений: 113
Цитата:
Значит не идентичны
а копипаст способен творить метаморфозы?
щас будет код.

Код AS3:
public class NewSender extends Sprite 
	{
		private var loader:URLLoader;
		private var request:URLRequest;
		private var sendData:URLVariables;
		public var Singl:Singletone = Singletone.getInstance();// в синглтон записывается ответ и с него же получает номер сессии.
		public function NewSender(URLQuest:String, valuekey: String) 
		{
			request = new URLRequest(URLQuest);
			request.method = URLRequestMethod.POST;
 
			sendData = new URLVariables();
			sendData['dataforsend'] = valuekey;// 
			sendData['sesid'] = Singl.userid;
 
			request.data = sendData;
			loader = new URLLoader();
			loader.dataFormat = URLLoaderDataFormat.TEXT;
			loader.addEventListener(Event.COMPLETE, onLoad);
			loader.load(request);
 
		}
		private function onLoad(e:Event):void
		{
 
			trace(e.target.data);
			Singl.ansver = e.target.data; // в другом классе это все воспроизводится, как я уже сообщал приложение работает без сбоев.
 
		}
далее php класс
PHP код:
class SESDrive{
        
        public function 
SESDrive($sesioname=NULL){
            if(
$sesioname!=NULL){
                
session_id($sesioname);// вот здесь пришлось дополнить код чтобы работало и flash-приложение
                
}
            
session_start();

        public function 
SetParam($paramname$paramval){ // функция для записи данных в сессию
            
$_SESSION[$paramname]=$paramval;
            }

        public function 
GetParam($paramname){ // функция извлечения данных
            
return $_SESSION[$paramname];
            }

    } 
скрипт выдачи данных

PHP код:
if(isset($_POST["dataforsend"])){
    
$mydata= (string) $_POST["dataforsend"]; // (string) - пришлось добавить чтобы исключить разности данных думаю это понятно.
    
}
if(isset(
$_POST["sesid"])){
    
$ses=$_POST["sesid"];
    }
$sesdrv = new SESDrive($ses);

$datatest= (string) $sesdrv->GetParam('lastwrite');

if(
$mydata== $datatest){
    print 
"Все хорошо";
    }else{
        print 
"Все плохо";
        } 
а здесь функция запроса со страницы на javascript

Код:
function getflashdata() {
	var val4send = $('#val4send ').val();
	var valsesid = $('#session').text();
	$.ajax({
		type : 'POST',
		url : '/path/script.php',
		data : 'dataforsend=' + val4send + '&sesid='+valsesid,
		error :
		function (data) {
			$('#status').html('Произошла ошибка');
		},
		beforeSend :
		function (data) {
			$('#status').html('<img src="image/715.GIF" align="absmiddle" width="16" border=0>&nbsp;подождите идет загрузка...');
		},
		success : function (data) {
			$('#status').html(data);
		}
	});
};
в общем при обращении со страницы скрипт получает все данные, это проверено на 100%, вот только при этом же обращении в сессии отсутствует запись с нужным именем, а для флеша она есть. то есть запись существует но только для флеш при попытке прочитать эту запись другим скриптом она пустая. Я сейчас конечно попробую выяснить есть ли она в природе когда страница посылает запрос. Но все равно если её нет тогда почему она есть для флеша, если учесть что имена сессий идентичны. и генерируются естественно
PHP код:
<?echo session_id();?>
Добавлено через 1 час 2 минуты
в общем искомый параметр при запросе со страницы не существует, однако он продолжает существовать для флеш.

Старый 01.06.2015, 20:19
Psycho Tiger вне форума Посмотреть профиль Отправить личное сообщение для Psycho Tiger Найти все сообщения от Psycho Tiger
  № 5  
Ответить с цитированием
Psycho Tiger
 
Аватар для Psycho Tiger

блогер
Регистрация: Jun 2005
Адрес: Господи пожалуйста не Новосибирск
Сообщений: 6,598
Записей в блоге: 17
Хорошо, попробуй вот что: в Chrome dev tools есть панель networking, в которой отображаются все запросы (должны появляться и флешевые). Сделай запрос обеими способами и скопируй данные, что отправляются – попробуем их тут сравнить.

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

Регистрация: Aug 2014
Адрес: Где-то на поверхности планеты, какой хз
Сообщений: 113
а вот ничего в хроме все заработало в обе стороны а мозила твердит ошибку #2048

Добавлено через 11 минут
вот еще выяснилось при запуске в приватном окне все работает. То есть получается кеш замусорился?

Старый 01.06.2015, 21:53
dimarik вне форума Посмотреть профиль Отправить личное сообщение для dimarik Найти все сообщения от dimarik
  № 7  
Ответить с цитированием
dimarik
.
 
Аватар для dimarik

модератор форума
Регистрация: Sep 2003
Адрес: Москва
Сообщений: 4,630
Записей в блоге: 20
#2048: http://www.flasher.ru/forum/showthread.php?t=125411
__________________
Воспитан в TimeZero. Работаю в Mail.ru.

Старый 01.06.2015, 22:02
PsychoTech вне форума Посмотреть профиль Отправить личное сообщение для PsychoTech Найти все сообщения от PsychoTech
  № 8  
Ответить с цитированием
PsychoTech
 
Аватар для PsychoTech

Регистрация: Aug 2014
Адрес: Где-то на поверхности планеты, какой хз
Сообщений: 113
это я уже не знаю сколько раз проштудировал.

Добавлено через 4 минуты
В общем этот вопрос можно закрыть. Исход такой. Возникла такая проблема: переписывайте код сначала, переписывайте кросдомен ну и кеш все. другой причины не вижу.

Добавлено через 5 минут
Все заработало после чистки.

Старый 03.06.2015, 12:05
Psycho Tiger вне форума Посмотреть профиль Отправить личное сообщение для Psycho Tiger Найти все сообщения от Psycho Tiger
  № 9  
Ответить с цитированием
Psycho Tiger
 
Аватар для Psycho Tiger

блогер
Регистрация: Jun 2005
Адрес: Господи пожалуйста не Новосибирск
Сообщений: 6,598
Записей в блоге: 17
Отлично!

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

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

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


 


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


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