Url récupérer url de base sans paramètres + récupérer paramètres uniquement d'une url

Soyez le premier à donner votre avis sur cette source.

Snippet vu 27 725 fois - Téléchargée 26 fois

Contenu du snippet

Ces fonctions peuvent être utiles pour chacun de nous.
Elles sont en javascript.
Le code qui suit permet de reformer une URL avec des paramètres issues d'une autre URL

Source / Exemple :


/*
exemple
l'URL courant de mon navigateur est :
"http://lesite.fr/lapage.php?param1=...&param2="

je veux conserver lesparamètres de cette URL, pour les ré-utiliser
dans un autre docuement
j'obtiens donc :
params="param1=...&param2=..";

Jai une autre URL qui a des paramètres, je veux garder uniqueemnt l'URL sans param
url2="http://lesite_numero_2.fr/lapage.php?paramx=...&paramy="
Avec ma fonction j'obtiens donc
url_base="http://lesite_numero_2.fr/lapage.php"

Ensuite, il est simple d'ajouter les deux pour avoir :
url_final= url_base +"?"+params

Voici le code:

  • /
function getURL_base(url) { //renvoie un URL sans les paramètres et le ? var S_url = url; stopIndex=S_url.indexOf("?"); url_sans_param=S_url.substr(0,stopIndex); alert("url: " + url_sans_param); return url_sans_param } function getURL_param(url) { //renvoie les param sans le ? var S_url = url; startIndex=S_url.indexOf("?"); param=S_url.substr(startIndex+1); alert("param: " + param); return param } /////// /*EXEMPLE url1="http://www.javascriptfr.com/forum.v2.aspx?ID=583947" url2="http://search.ke.voila.fr/S/voila?rtype=kw&rdata=Location%20de%20voiture" url_base=getURL_base(url2); //http://search.ke.voila.fr/S/voila url_param=getURL_param(url1) //ID=583947 url_final=url_base + "?" + url_param; //http://search.ke.voila.fr/S/voila ? ID=583947
  • /
yao

A voir également

Ajouter un commentaire

Commentaires

Messages postés
43
Date d'inscription
samedi 30 avril 2005
Statut
Membre
Dernière intervention
18 septembre 2011

Hello yaoka13,
Tes deux fonctions m'ont été utile. En essayant de les comprendre, j'ai vu qu'elles peuvent être écrites en une seule ligne chacune:

function getURL_param(url)
{
//renvoie les param sans le ?
return url.substr(url.indexOf("?")+1)
}


function getURL_base(url)
{
//renvoie les param sans le ?
return url.substr(0, url.indexOf("?"))
}

Et en bonus, je rajoute cette fonction qui retourne uniquement le nom du fichier html ou php. A bientôt ;)

// renvoie le nom fichier
function getFileName(url)
{
url=url.substr(0, url.indexOf("?"));
a = url.split("/");
return a[a.length-1];
}
Messages postés
35
Date d'inscription
mercredi 19 janvier 2005
Statut
Membre
Dernière intervention
22 mai 2006

Bonjour, j'ai déjà moi-même posté un script pour récupérer les paramètres (variables + valeurs) dans un array à cette adresse http://www.javascriptfr.com/code.aspx?ID=32498 sur ce site.
@+
Messages postés
1044
Date d'inscription
lundi 7 mars 2005
Statut
Membre
Dernière intervention
13 juillet 2010
7
Le mieux est de pouvoir avoir les paramètres dans un tableau assosiatif comme en PHP ($_GET[...]). J'en ai fait une version en js pour aller chercher les paramètre envoyer en GET dans l'url courant. Voici la source :

a = unescape(window.location.search.substr(1)).split("&");
$_GET = new Array();
for (i=0;i<a.length;i++){
$_GET[a[i].substring(0,a[i].indexOf("="))] = a[i].substr(a[i].indexOf("=")+1);
}

À noter pour pouvoir aller chercher les paramètres envoyé comme la fonction getURL_param ,mais dans la page couurant est, window.location.search.

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.