2011-05-20 70 views

回答

3

我使用Adobe提供in this article類。

package 
    { 
    import flash.external.*; 
    import flash.utils.*; 

    public class QueryString 
    { 

     private var _queryString:String; 
     private var _all:String; 
     private var _params:Object; 

     public function get queryString():String 
     { 
     return _queryString; 
     } 
     public function get url():String 
     { 
     return _all; 
     } 
     public function get parameters():Object 
     { 
     return _params; 
     }   


     public function QueryString() 
     { 

     readQueryString(); 
     } 

     private function readQueryString():void 
     { 
     _params = {}; 
     try 
     { 
      _all = 
    ExternalInterface.call("window.location.href.toString"); 
      _queryString = 
    ExternalInterface.call("window.location.search.substring", 1); 
      if(_queryString) 
      { 

      var params:Array = _queryString.split('&'); 
      var length:uint = params.length; 

      for (var i:uint=0,index:int=-1; i 0) 
       { 
       var key:String = kvPair.substring(0,index); 
       var value:String = kvPair.substring(index+1); 
       _params[key] = value; 
       } 
      } 
      } 
     }catch(e:Error) { trace("Some error occured. 
    ExternalInterface doesn't work in Standalone player."); } 
     } 

    } 
    } 

UPDATE:一個更新版本的類也可以be found here的,雖然我沒有嘗試過這一個。

更新2: 這裏有一個關於如何使用查詢字符串類的例子:

public function CheckForIDInQuerystring():void 
{ 
    // sample URL: http://www.mysite.com/index.aspx?id=12345 
    var qs:QueryString = new QueryString; 

    if (qs.parameters.id != null) 
    { 
    // URL contains the "id" parameter 
    trace(qs.parameters.id); 
    } 
    else 
    {     
    // URL doesn't contain the "id" parameter 
    trace("No id found."); 
    } 
} 
+0

你可以發佈我不得不做的工作嗎?我試着按照鏈接上的例子,但我無法得到它。 – Brds 2011-05-20 19:10:05

+0

@Brds我添加了一個關於如何使用之前發佈的Querystring類的快速示例。如果我的答案有助於解決您的問題,請點擊答案旁邊的複選標記圖標,將其標記爲已接受的答案。 – 2011-05-20 20:25:56

1

鴻溝「時間與String.split()和征服:

var url:String = "http://www.xxx.zzz/myapp?arg1=vae&arg2=victus"; 
    var params:String = url.substr(url.lastIndexOf("?") + 1); 
    if (params.length == url.length) return; //no params 
    for each (var pair:String in params.split("&")) 
    { 
     trace("Got parameter:"); 
     var nameValue:Array = pair.split("="); 
     trace("name: " + nameValue[0] + ", value: " + nameValue[1]); 
    } 

輸出:

Got parameter: 
name: arg1, value: vae 
Got parameter: 
name: arg2, value: victus