Node.js url.parse renvoie le résultat à la chaîne
Je suis en train de faire une simple pagination.
À cette fin, je vais essayer d'analyser l'URL courante, puis de produire des liens vers la même requête, mais avec incrémenté et décrémenté page
paramètres.
J'ai essayé de faire la suite, mais il produit le même lien, sans la nouvelle page
paramètre.
var parts = url.parse(req.url, true);
parts.query['page'] = 25;
console.log("Link: ", url.format(parts));
La documentation pour l'URL du module semble suggérer que format
est ce dont j'ai besoin, mais je suis en train de faire quelque chose de mal.
Je sais que je pourrais faire évoluer et de construire la chaîne manuellement, mais j'espérais qu'il y est une méthode existante pour cela.
source d'informationauteur Ben Humphreys | 2011-09-22
Vous devez vous connecter pour publier un commentaire.
Si vous regardez la documentation la plus récentevous pouvez voir que
url.format
se comporte de la manière suivante:Et lorsque vous modifiez
query
search
reste inchangé et il l'utilise. Donc, pour le forcer à utiliserquery
il suffit de retirersearch
de l'objet:Assurez-vous que vous êtes toujours à la lecture de la dernière version de la documentation, cela vous permettra d'économiser beaucoup d'ennuis.
Me semble que c'est un bug dans le nœud. Vous pouvez essayer de
L'autre réponse est bonne, mais vous pouvez aussi faire quelque chose comme cela. Le
querystring
module est utilisé pour travailler avec les chaînes de requête.Simple git pour cela. Sécher le code et obtenir les variables d'URL sans avoir besoin de require('url') j'ai utilisé: https://gist.github.com/4542588
Cela permettra d'analyser et déplacer les variables d'url dans la req.urlparams variable. Il s'exécute tôt dans le processus de demande est donc disponible pour tous les expressjs chemins.