Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   Серверные технологии и Flash (http://www.flasher.ru/forum/forumdisplay.php?f=62)
-   -   Из php в as3 (http://www.flasher.ru/forum/showthread.php?t=203008)

jaraman 26.08.2013 10:12

Из php в as3
 
Здравствуйте у меня вопрос, не могу проверить полученных данных от пхп,
Вот мой as3 код:

Код AS1/AS2:

package {
 import flash.display.Sprite;
import flash.events.*
import flash.net.*;
import fl.controls.Label;
public class test  extends Sprite{
 
public function test() {sendData("scripts/login.php");}
public function sendData(url:String):void {
var request:URLRequest = new URLRequest(url);
var _vars:URLVariables = new URLVariables();
var loader:URLLoader = new URLLoader();
loader.dataFormat = URLLoaderDataFormat.VARIABLES;
request.data = _vars;
_vars.fio_t = "ds";
request.method = URLRequestMethod.POST;
loader.addEventListener(Event.COMPLETE, handleComplete);
loader.addEventListener(IOErrorEvent.IO_ERROR, onIOError);
loader.load(request);
}
private function handleComplete(event:Event):void {
var loader:URLLoader = URLLoader(event.target);
var lbl:Label = new Label();
var lbl2:Label = new Label();
lbl2.x = 80;
if(loader.data.msg=="all_good"){
        lbl.text = "all is good"; ////////// Здесь не работает проверка данных, не могу понять почему???
}
addChild(lbl);
lbl2.text = "" + loader.data.msg; /////если не будем проверять тогда показывает сообщение "all_good"
addChild(lbl2);
}
private function onIOError(event:IOErrorEvent):void {
trace("Error loading URL.");
}
}
}

php kod
PHP код:

<?php
$mymsg
="all_good";
print 
"msg=$mymsg";
?>


caseyryan 26.08.2013 22:13

А так?
Код AS3:

var message:String = String(loader.data.msg);
 
if(message == "all_good"){
        lbl.text = "all is good"; ////////// Здесь не работает проверка данных, не могу понять почему???
}


bifidokk 27.08.2013 09:09

Потратьте 30 минут на ознакомление с JSON и отдавайте ответ в этом формате.
И с данными на сервере удобнее работать будет, и на клиенте удобнее структурировать

mikhailk 29.08.2013 13:43

Цитата:

if(loader.data.msg=="all_good"){
Цитата:

lbl2.text = "" + loader.data.msg; /////если не будем проверять тогда показывает сообщение "all_good"
Ну да, проблема в типах. В if'ах и switch'ах нужно явно задавать приведение типов для таких случаев. Во втором примере с присвоением текстовому полю приведение типа произошло при конкатенации, потому "чудо" и имело место.

Вот так отработает:

Код AS3:

if(String(loader.data.msg)=="all_good")


Цитата:

Потратьте 30 минут на ознакомление с JSON и отдавайте ответ в этом формате.
JSON с точки зрения типов данных тот еще фрукт. :)

Код AS3:

// incomingMsg = { "id" : "0000123", "value" : "456" }
 
if (incomingMsg.id=="0000123")
{
  trace("отработало");
}
 
if (incomingMsg.id==123)
{
  trace("и тут - тоже");
}


bifidokk 30.08.2013 09:04

Цитата:

JSON с точки зрения типов данных тот еще фрукт
Это понятно, но сама структура намного понятнее, чем вот такое:

PHP код:

$mymsg="all_good";
print 
"msg=$mymsg"



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

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