2009-07-22 6 views
1

Dans mon application Flex, je suis capable de lire les variables en utilisant quelque chose comme /flexapp.html?name=josh sans problèmes. Cependant, c'est parce que je vais dans l'URL et tapez les variables à la main. Est-il de toute façon dans le code pour ajouter dynamiquement la partie variable "? Name = josh"? Par exemple, comme récupérer l'URL et ensuite ajouter cela et ensuite pointer vers lui?Ajout dynamique de variables à une URL en utilisant flex

Répondre

2

Ou, si vous utilisez un URLRequest, vous pouvez formater cette façon:

package { 
    import flash.display.Sprite; 
    import flash.net.navigateToURL; 
    import flash.net.URLRequest; 
    import flash.net.URLVariables; 

    public class URLVariablesExample extends Sprite { 

     public function URLVariablesExample() { 
      var url:String = "http://www.[yourDomain].com/application.jsp"; 
      var request:URLRequest = new URLRequest(url); 
      var variables:URLVariables = new URLVariables(); 
      variables.exampleSessionId = new Date().getTime(); 
      variables.exampleUserLabel = "guest"; 
      request.data = variables; 
      navigateToURL(request); 
     } 
    } 
} 

Tant que vous utilisez la méthode get, qui est la valeur par défaut.

+0

Merci pour le code, c'est presque exactement ce que je veux faire. Cependant, navigateToUrl semble ouvrir une nouvelle fenêtre à chaque fois. Y at-il de toute façon que je peux juste actualiser la fenêtre actuelle? – joshholat

+0

navigateToURl accepte un deuxième paramètre, donc navigateToURL (request, "_ self"); – quoo

+0

Merci, c'est ce que je cherchais. Aussi, cependant, y at-il de toute façon changer l'URL (et pas nécessairement le charger) avant d'ajouter un enfant à une page? L'enfant que j'ajoute est thats variable, mais je ne veux pas nécessairement recharger toute la page ... est-il possible de simplement mettre à jour l'URL et recharger un enfant? – joshholat

0
var myUrl:String = "/flexapp.html"; 
var myNameVar:String = "josh"; 
var myVar:String = "?name=" + myNameVar; 
myUrl += myVar; 

URL ne sont que des chaînes, vous pouvez utiliser toutes les méthodes de chaîne avec eux (concaténation regex, etc.)