2012-10-31 28 views
0

编辑 - 看起来像不能通过XML解析来自PHP的数据。使用JSON将是最好的方法。 SourceFlex - 检索并存储来自PHP的变量

我对Flex很新,已经使用了2.5天。我的Flex应用程序访问一个计算两个数字的PHP脚本。该脚本原样,但我想从PHP脚本检索多个变量,所以我可以有一个答案不仅加法,但也multiplication等...

我希望我已经有所作为......

软硬度:

<?xml version="1.0" encoding="utf-8"?> 
<s:View xmlns:fx="http://ns.adobe.com/mxml/2009" 
     xmlns:s="library://ns.adobe.com/flex/spark" 
     title="Adding Numbers"> 

    <fx:Declarations> 
     <!-- Place non-visual elements (e.g., services, value objects) here --> 
     <s:HTTPService id="srvCalc" url="http://192.168.0.3/flex/flex-phpexample/calc.php" 
        resultFormat="text" 
        method="POST"> 

     <s:request xmlns=""> 
      <number1>{txtNumber1.text}</number1> 
      <number2>{txtNumber2.text}</number2> 
     </s:request> 

    </s:HTTPService> 
    </fx:Declarations> 

    <fx:Script> 
     <![CDATA[ 
      private function btnCalc_Click(event:MouseEvent):void 
      { 
       srvCalc.send(); 
      } 
     ]]> 
    </fx:Script> 

    <s:VGroup width="400" horizontalCenter="0" verticalCenter="0"> 
     <s:Label id="txtAnswer" text="{srvCalc.lastResult}" /> 

     <s:Label text="First Number:" /> 
     <s:TextInput id="txtNumber1" 
        width="100%"/> 

     <s:Label text="Second Number:"/> 
     <s:TextInput id="txtNumber2" 
        width="100%"/> 

     <s:Button id="btnCalc" 
        label="Calculate" 
        click="btnCalc_Click(event)"/> 
    </s:VGroup> 

</s:View> 

PHP:

<?php 
    $number1 = $_POST['number1']; 
    $number2 = $_POST['number2']; 

    print($number1 + $number2); 
?> 

回答

0

最简单的方法是让php返回一个JSON编码块,然后使用http://flexjson.sourceforge.net/在flex中对其进行解码。还有其他一些方法可以使用,但这是最简单和最具结构化的方法。

+0

我已经看过了,我想从中建立起来的最初想法是创建一个登录视图。因此,我们可以发送用户名,密码,并成功时,我想从PHP代码返回一个值,如: $ loginSuccessful = true; $ firstName =“John”; $ lastName =“Doe”' – Tristian

+0

对,所以你会希望沿着$ return = array(); $返回[ '姓名'] = “约翰”; $返回[ '状态'] = TRUE;回声(json_encode($返程)); – Kyros

+0

您实际上并不需要使用第三方库来解析AS3中的JSON。 Adobe有一个JSON类(带有#parse()和#stringify()静态方法),现在就构建好了。 http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/JSON.html –