我尝试从方法返回我的脚本标签中的字符串值,但它总是返回一个对象,我不能在字符串值获得。

下面是代码:

我检索的对象从一个web服务调用返回;;

    private function getNameResults(e:ResultEvent):String{
     var name:Array = new Array(e.result);
     var site:String = site_names[0].toString();
     Alert.show("site - " +site);
     return site;
}

警报打印出了名的,但当我尝试使用我的下一个方法的值(它调用它调用getNameResults Web服务),我得到的对象变量

private function getInfo(roomName:String):String{
    var site:String =userRequest.getRoomZoneInfo(roomName);
    return site;
}

然而这里所返回的值是[对象的AsyncToken]

任何想法?

有帮助吗?

解决方案

您正在设置getRoomZoneInfo()到变址的结果,但你是铸造它作为一个字符串。 getRoomZoneInfo正在恢复的对象,并且因为你是粘在变量是一个字符串它像对象,其产生的[对象.toString()]关于调用AsyncToken

基本上如果getRoomZoneInfo是一个Web服务调用,你不能让你在这里寻找的信息,你必须等待,直到结果回来,让你正在寻找那里的字符串。有意义吗?

其他提示

您的getInfo()方法被调用不getNameResults()。它调用的getRoomZoneInfo()。我不知道这个方法做什么,但我猜它返回一个对象,而不是字符串。

我m到处[ObjectAsyncToken]在可变的,而不是字符串,因为我从检索数据库中的数据

private function init():void
{
   ro.initView();
   var a:String=String(ro.getID());
}

数据库功能:

public void initView()
{
  try
  {
    Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
    Connection conn = DriverManager.getConnection("jdbc:odbc:alarmdsn"," "," ");
    Statement s = conn.createStatement();
    ResultSet r = s.executeQuery("select * from alarm");
    while(r.next()) {
      a = r.getString(1);             
    }
  }
  catch(Exception e) {}
}

public String getID() {
   return a;
}
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top