6
votes

URL Encodage variable dans AS3?

Je reçois l'erreur suivante lorsque vous essayez de passer des variables via urlrequestmethod.post;

Erreur: Erreur # 2101: la chaîne passée à urlvariables.decode () doit être une chaîne de requête codée par l'URL contenant des paires de noms / valeur.

existe-t-il une méthode d'encodage d'URL à chaîne?


0 commentaires

4 Réponses :


21
votes

Il y a une évasion () et unescape () comme fonction de niveau supérieur d'ActionScript 3 pour le codage / décodage de l'URL.


1 commentaires

Également utile sont Encodéturicomponent et Decoduricomponent si vous souhaitez encoder des séparateurs.



6
votes

Ce message d'erreur est généralement causé en passant une queryString non valide à un objet Urlvariables. Mais vous n'avez pas besoin de passer la querystring dans la plupart des cas. Vous pouvez simplement ajouter des paires à l'objet sous forme de propriétés régulières et le laisser faire le codage et l'échappement (ce que cette classe est censée faire).

var vars:URLVariables = new URLVariables();
vars.param1 = "Text to be escaped. Works for non ascii: ñ";
vars.param2 = "http://www.google.com/?q=something&test=1234";
trace(vars.toString());


1 commentaires

Cela a aidé Med avec un autre problème que j'ai eu. Merci.



7
votes

solution à ce problème est: Vous devez définir UrlloaderDataFormat sur UrlloaderDataFormat.text non urlloaderdataformat.variables. Parce que variables signifie différents types de données, pas plusieurs éléments dans urlvariables .


0 commentaires

0
votes

Je suis tombé sur ce problème plusieurs fois et généralement son myLoader.dataformat = urlloaderdataformat.variables Ligne que j'ai raté. Essayez de supprimer cette ligne si vous l'avez: xxx

et assurez-vous enfin que vous recevez une réponse via une variable Thestatus = ok alors cela devrait faire le tour.


0 commentaires