Maison > interface Web > js tutoriel > le corps du texte

Explication détaillée de la conversion des chaînes d'URL et des chaînes de requête dans nodejs_node.js

WBOY
Libérer: 2016-05-16 16:30:14
original
1585 Les gens l'ont consulté

Dans une chaîne d'URL complète, la partie allant de "?" (à l'exclusion de ?) à "#" (si # existe) ou jusqu'à la fin de la chaîne d'URL (si # n'existe pas) est appelée chaîne de requête .

Vous pouvez utiliser la méthode parse dans le module Query String pour convertir la chaîne en objet. La méthode parse est utilisée comme suit :

querystring.parse(str,[sep],[eq],[options]);

str représente la chaîne de requête convertie,

sep. Le délimiteur dans la chaîne, la valeur par défaut est &

eq. Le caractère d'allocation dans cette chaîne, la valeur par défaut est =."="Le côté gauche est la clé et le côté droit est la valeur

options : est un objet. Vous pouvez utiliser l'attribut maxKeys d'un type de valeur entière dans l'objet pour spécifier le nombre d'attributs dans l'objet converti. Si la valeur de l'attribut maxKeys est définie sur 0, l'effet est équivalent à not. en utilisant maxKeys.

Copier le code Le code est le suivant :
var querystring=require("querystring");
var str="username=guoyansi&age=40&sex=male";
var res=querystring.parse(str);
console.log("1:%j",res);//1:{"username":"guoyansi","age":"40","sex":"male"}
res=querystring.parse(str,"!");
console.log("2:%j",res);//2:{"username":"guoyansi&age=40&sex=male"}
res=querystring.parse(str,"&");
console.log("3:%j",res);//3:{"username":"guoyansi","age":"40","sex":"male"}
str="username=guoyansi!age=40!sex=male";
res=querystring.parse(str,"!");
console.log("4:%j",res);//4:{"username":"guoyansi","age":"40","sex":"male"}
res=querystring.parse(str,"!","=");
console.log("5:%j",res);//5:{"username":"guoyansi","age":"40","sex":"male"}
res=querystring.parse(str,"!",":");
console.log("6:%j",res);//6:{"username=guoyansi":"","age=40":"","sex=male":""}
res=querystring.parse(str,"!","=",{maxKeys:2});
console.log("7:%j",res);//7:{"username":"guoyansi","age":"40"}

Stringify est un format qui convertit les chaînes en chaînes de requête.

querystring.stringify(obj,[sep],[eq])

Copier le code Le code est le suivant :
var querystring=require("querystring");
var res= querystring.stringify({"username":"guoyansi","age":"40","sex":"male"});
console.log(res);//username=guoyansi&age=40&sex=male
res=querystring.stringify({"username":"guoyansi","age":"40","sex":"male"},"!");
console.log(res);//username=guoyansi!age=40!sex=male
res=querystring.stringify({"username":"guoyansi","age":"40","sex":"male"},"&",":");
console.log(res);//username:guoyansi&age:40&sex:male
res=querystring.stringify({"username":"guoyansi","age":["40","24"]},"&","=");
console.log(res);//username=guoyansi&age=40&age=24

Dans le module url, vous pouvez utiliser la méthode parse() pour convertir la chaîne URL en objet En fonction des différents contenus de la chaîne URL, les attributs que l'objet peut avoir et leurs significations sont les suivants.

href : la chaîne d'URL d'origine convertie.

protocole : Le protocole utilisé par le client lors des demandes.
barres obliques : utilisez le séparateur "//" entre le protocole et le chemin.
hôte : l'adresse complète et le numéro de port dans la chaîne URL. L'adresse peut être une adresse IP ou un nom d'hôte
. auth : la partie des informations d'authentification dans la chaîne URL.
nom d'hôte : l'adresse complète dans la chaîne URL, qui peut être une adresse IP ou un nom d'hôte
. search : La chaîne de requête dans la chaîne Url, y compris le caractère de départ "?"
path : le chemin dans la chaîne d'URL, y compris la chaîne de requête.
requête : la chaîne de requête dans la chaîne URL ne contient pas le caractère de départ "?", ni l'objet converti en fonction de la chaîne de requête (la valeur de l'attribut de requête est déterminée en fonction des paramètres utilisés dans la méthode parse() ); 🎜> hash : la chaîne de hachage dans la chaîne de l'url, y compris le caractère de départ "#".

url.parse(urlstr,[parseQueryString]);
urlStr : est la chaîne d'URL qui doit être convertie,
parseQueryString : est une valeur booléenne lorsque le paramètre est vrai, le module querystring est utilisé en interne pour convertir la chaîne de requête en objet. Lorsque la valeur du paramètre est fausse, l'opération de conversion n'est pas effectuée.

Copier le code Le code est le suivant : var url=require("url");
var str="
http://user:pass@host,com:8080/users/user.php?username=sisi&age=24&sex=male#name1
";
var res=url.parse(str); console.log(res);

Copier le code Le code est le suivant :

{ protocole : 'http:',
barres obliques : vrai,
auth : 'utilisateur:pass',
hôte : 'hôte :8080',
port : '8080',
nom d'hôte : 'hôte',
hachage : '#name1',
recherche : '?username=sisi&age=24&sex=male',
Requête : 'username=sisi&age=24&sex=male',
chemin : '/,com/users/user.php',
chemin : '/,com/users/user.php?username=sisi&age=24&sex=male',
href : 'http://user:pass@host:8080/,com/users/user.php?username=sisi&age=24&sex=male#name1' }

Copier le code Le code est le suivant :

var url=require("url");
var str="http://user:pass@host,com:8080/users/user.php?username=sisi&age=24&sex=male#name1";
var res=url.parse(str,true);
console.log(res);

Copier le code Le code est le suivant :

{ protocole : 'http:',
barres obliques : vrai,
auth : 'utilisateur:pass',
hôte : 'hôte :8080',
port : '8080',
nom d'hôte : 'hôte',
hachage : '#name1',
recherche : '?username=sisi&age=24&sex=male',
requête : { nom d'utilisateur : 'sisi', âge : '24', sexe : 'masculin' },
chemin : '/,com/users/user.php',
chemin : '/,com/users/user.php?username=sisi&age=24&sex=male',
href : 'http://user:pass@host:8080/,com/users/user.php?username=sisi&age=24&sex=male#name1' }

La différence entre le premier exemple et le deuxième exemple est le deuxième paramètre d'analyse, qui entraîne une requête différente dans le résultat

Vous pouvez convertir un objet converti en URL en chaîne d'URL.

Copier le code Le code est le suivant :

var url=require("url");
var str="http://user:pass@host,com:8080/users/user.php?username=sisi&age=24&sex=male#name1";
var res=url.parse(str,true);
console.log(url.format(res));

Le résultat est :

http://user:pass@host:8080/,com/users/user.php?username=sisi&age=24&sex=male#name1

Ce qui précède concerne la conversion des chaînes d'URL et des chaînes de requête dans le nœud. Si vous l'étudiez attentivement, c'est en fait assez simple.

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal