2

我的 Flex 应用程序正确调用了 Web 服务,但它没有填充下拉框。

运行应用程序后,下拉框为空。

我的弹性代码如下

<fx:Script>

    <![CDATA[
        import mx.controls.Alert;
        import mx.events.FlexEvent;

        protected function  
                    dropDownList2_creationCompleteHandler(event:FlexEvent):void
        {
            mycustomersResult2.token = hellos.mycustomers();
        }

    ]]> 
</fx:Script>

    <fx:Declarations>

    <hellos:Hellos id="hellos" fault="Alert.show(event.fault.faultString + '\n' 
             + event.fault.faultDetail)"
             showBusyCursor="true"/>

    <s:CallResponder id="mycustomersResult2"/>

</fx:Declarations>

 <s:FormItem label="Label">
  <s:DropDownList id="dropDownList2"
       creationComplete="dropDownList2_creationCompleteHandler(event)"
       labelField="age">
       <s:AsyncListView list="{mycustomersResult2.lastResult}"/>
  </s:DropDownList>
  </s:FormItem>
4

2 回答 2

3

调试时不需要使用服务器/网络监视器。

只需创建一个临时const保存您的 XML 代码并使用它:

/*private static*/ const MY_XML:XML =
<soapenv:Envelope 
  xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" 
  xmlns:xsd="http://www.w3.org/2001/XMLSchema" 
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
 <soapenv:Body>
    <mycustomersResponse xmlns="http://Services.com">
      <mycustomersReturn>
          <age>28</age>
          <name>Jack</name>
      </mycustomersReturn>
      <mycustomersReturn>
          <age>29</age>
          <name>Ben</name>
      </mycustomersReturn>
   </mycustomersResponse>
 </soapenv:Body>
</soapenv:Envelope>;

(是的,不要使用上面的任何引号)。

于 2013-01-10T09:45:24.937 回答
2

你能在调试模式下使用监视表达式检查这一行吗?

mycustomersResult2.lastResult.mycustomersResponse

确保您的 lastResult 应该具有 mycustomersResponse 属性。

谢谢, 迪拉吉

于 2013-01-10T06:37:27.060 回答