Notez également que si l'on souhaite suivre la plus récente RFC3986
pour les URL, en faisant des crochets réservés (pour IPv6) et donc non codés lors de la formation de quelque chose qui pourrait faire partie d'une URL (comme un hôte), ce qui suit peut aider.
function fixedEncodeURI (str){return encodeURI(str).replace(/%5B/g,'[').replace(/%5D/g,']');}
J'espère que cela aidera les gens à régler leurs problèmes lorsqu'ils tomberont sur cette question.
Bien que ce lien puisse répondre à la question, il est préférable d'inclure les parties essentielles de la réponse ici et de fournir le lien de référence. Les réponses de lien uniquement peuvent devenir invalides si la page liée change. - De l'avis
Peter
@Peter Merci, mais ce n'est qu'un lien vers l'outil en ligne, qui peut être utile ici. Étant donné que les réponses ont déjà été fournies, il n'y a pas besoin d'explications supplémentaires.
Krzysztof Przygoda
1
Les données auraient probablement été publiées à l'origine à partir d'un formulaire Web ressemblant un peu à ceci (mais probablement beaucoup plus compliqué):
Le serveur Web à l'autre bout prendra vraisemblablement la user[login]et les user[password]paramètres, et en faire un userobjet avec loginet passwordchamps contenant ces valeurs.
Ils représentent
[
et]
. L'encodage est appelé "encodage URL" .la source
[]
est remplacé par%5B%5D
au moment de l'encodage de l'URL.la source
Eh bien, c'est le codage d'URL habituel
Ils représentent donc
[
respectivement]
la source
Pour jeter un coup d'œil, vous pouvez centrer / décoder en utilisant cet outil en ligne .
la source
Les données auraient probablement été publiées à l'origine à partir d'un formulaire Web ressemblant un peu à ceci (mais probablement beaucoup plus compliqué):
Si la méthode était "get" au lieu de "post", cliquer sur le bouton soumettre vous amènerait à une URL ressemblant un peu à ceci:
ou:
Le serveur Web à l'autre bout prendra vraisemblablement la
user[login]
et lesuser[password]
paramètres, et en faire unuser
objet aveclogin
etpassword
champs contenant ces valeurs.la source
La raison pour laquelle ces symboles apparaissent dans l'URL n'est pas moins importante. Voir https://www.php.net/manual/en/function.parse-str.php#76792 , en particulier:
ce qui précède produit:
et quelle est LA méthode pour séparer les variables de requête dans les tableaux (en php, au moins).
la source