Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1797 connectés 

  FORUM HardWare.fr
  Programmation
  Javascript/Node.js

  Avoir une partie d'URL

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Avoir une partie d'URL

n°2259045
kacio77
Posté le 29-05-2015 à 12:12:03  profilanswer
 

Bonjour,
Voilà, ma question est assez simple, la réponse peut-être un peu moins: pour une URL de type hhhhttp://lesite.com/catégorie?ville=xxxx&adresse=yyyy"
"yyyy" étant une saisie d'internaute, donc variable. Je voudrais récupérer cette variable en javascript.
J'avais commencé comme ceci: window.location.search > ?ville=xxxx&adresse=yyyy += .substring(1) > ville=xxxx&adresse=yyyy += split('&') >  
Array [ "ville=xxxx", "adresse=laSaisie" ]
Je pourrais faire window.location.search.substring(1).split('&')[1].substring(8) pour ne garder que ce qui suit après le signe égal d'adresse MAIS, je voudrais ne veux pas utiliser [1] car peut-être un jour Adresse sera en indice 0 ou encore 4 par exemple. Un deuxième MAIS est que je ne veux pas utiliser [8] pour supprimer "adresse=" (8 caractères) car un jour Adresse pourrait s'appeler "location=" ou autres... (chaîne de caractères plus, ou moins longue).
 
La solution serait-elle de faire une recherche approximative en parcourant le tableau ?  
 
J'ai essayé:
 
if (window.location.search.substring(1).split('&').indexOf("adresse=rueLappe" ) > -1) {
    alert("ok!" )
} else {
    alert("bad!" )
}
 
Qui me renvoie "ok!"
Et quand dans l'indexOf je mets ("adresse=" ) ça me renvoie "bad!". J'ai essayé ("adresse="%) mais çe ne passe pas lol
 
Comment avoir "yyyy" qui est une saisie de l'internaute, merci à vous.

mood
Publicité
Posté le 29-05-2015 à 12:12:03  profilanswer
 

n°2259230
SICKofitAL​L
misanthrope
Posté le 01-06-2015 à 11:04:03  profilanswer
 

Salut tu peux utiliser une fonction dans ce genre

Code :
  1. function parseSearch (search)
  2.  {
  3.   var q = {};
  4.   search = search.substring (1);
  5.   if (search.length)
  6.   {
  7.    search.split (/&/g).forEach (function (v) // on peut imaginer rajouter dans l'expression reguliere du split d'autres séparateurs comme "&"
  8.     {
  9.      var t = v.split ('=');
  10.      q[t[0]] = t[1];
  11.     });
  12.   }
  13.   return q;
  14.  }
  15. var search = parseSearch (window.location.search);


 
Donc pour une url du type  
http://lesite.com/catégorie?ville= [...] resse=yyyy&rien
 
tu pourras alors acceder aux params comme ceci
search['ville']  // contient 'xxxx' . search.ville renvoit le même résulrat
search.rien // existe mais renvoit undefined
 
Mais comme search.nope renvoit aussi undefined, pour tester si un param existe vraiment et récupérer sa valeur, tu peux faire :
ville = ('ville' in search && search.ville) || "une valeur par défaut";


---------------
We deserve everything that's coming...

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Javascript/Node.js

  Avoir une partie d'URL

 

Sujets relatifs
"AutoLoging" pour le site https://resu.bionyval84.fr via une URL ?HTLM/JavaScript : faire clignoter une URL
Afficher texte si l'URL contient un motRécupération paramètres d'une ancienne URL pour une nouvelle
Wordpress + connexion SSO + partie extranetpourquoi ce code ne recupère plus une partie de code source d'une url?
comment deboguer une partie de javascript?[PHP] Url Rewriting et passage de variables GET
url dans fichier xml découpé en 3 partie, pourquoi ?Pb d'URL ou comment masquer une partie
Plus de sujets relatifs à : Avoir une partie d'URL


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR