代码之家  ›  专栏  ›  技术社区  ›  Raul Agrait

将URL参数附加到ActionScript中的URL

  •  0
  • Raul Agrait  · 技术社区  · 17 年前

    我试图在ActionScript中向URL字符串添加URL参数。目前,我正在检查现有的URL,看看它是否显式地有一个“?”确定是否存在任何现有参数,以确定我的参数分隔符是否应为“”或“&”。ActionScript中是否有可以简化以下代码的库或实用方法?

    var existingParameter:Boolean = existingUrl.indexOf("?") != -1;
    var urlDelimiter:String = (existingParameter) ? "&" : "?";
    
    var urlParameter:String = urlDelimiter + "ParameterName=" + parameterValue;
    var completeUrl:String = existingUrl + urlParameter;
    
    2 回复  |  直到 17 年前
        1
  •  0
  •   Hrundik    17 年前

    看看 URLVariables URLLoader 课程。

        2
  •  0
  •   bedwyr    17 年前

    HttpService 效用并利用其通过对象获取参数的能力。参数可以作为键值对发送,其余的由类处理。

    下面是一个实用方法的示例,它正是这样做的:

    public static function sendViaHttpService(url:String, 
                                              format:String,
                                              method:String, 
                                              onComplete:Function, 
                                              onFail:Function, 
                                              parameters:Object=null):void {
    
        var http:HTTPService = new HTTPService();
        http.url = url;
        http.resultFormat = format;
        http.method = method;
    
        // create callback functions which remove themselves from the http service 
        // Don't want memory leaks
        var pass:Function = function(event:ResultEvent):void {
            onComplete(event);
            http.removeEventListener(ResultEvent.RESULT, pass);
        }
        var fail:Function = function(event:FaultEvent):void {
            onFail(event);
            http.removeEventListener(FaultEvent.FAULT, fail);
        }
    
        http.addEventListener(ResultEvent.RESULT, pass);
        http.addEventListener(FaultEvent.FAULT, fail);
    
        // yeah, we're going to send this in with the date to prevent 
        // browser-caching...kludgey, but it works
        if (parameters == null) {
            parameters = new Object();
        }
        // always get new date so the URL is not cached
        parameters.date = new Date().getTime();
    
        http.send(parameters);
    } //sendViaHttpService()
    

    var complete:Function = function(event:ResultEvent):void { /* your 
                                                                  callback here */ };
    
    var fail:Function = function(event:FaultEvent):void { /* your 
                                                             failure callback here */ };
    
    var url:String = "<your URL here>";
    
    sendViaHttpService(url, URLLoaderDataFormat.TEXT, URLRequestMethod.GET, complete, fail, { param1: 'value1', param2: 'value2' });
    
    推荐文章