donc j'ai une page HTML appelée (n'utilisant aucun cadres tels que JQuery, travaillant dans IE6, Firefox 3) P> a.html code> il a été appelé comme ceci à partir de b.html code>: a.html? var-bla- bla " code> est-il correct pour envoyer des arguments à JS? Comment analyser Args de JS? P>
5 Réponses :
Utilisez Vous voulez probablement séparer les différentes variables de la chaîne de requête afin que vous puissiez y accéder par nom: p> alors vous pouvez y accéder comme < Code> Demande ['varstring'] code> et cela vous donnera emplacement.search code> : "bla-bla-bla" code>. p> p>
Voici une fonction pour analyser la chaîne de requête. Passez le nom du paramètre et renvoie la valeur.
function getQueryVariable(variable)
{
var query = window.location.search.substring(1);
var vars = query.split("&");
for (var i=0;i<vars.length;i++)
{
var pair = vars[i].split("=");
if (pair[0] == variable)
{
return pair[1];
}
}
return -1; //not found
}
La plupart du temps que vous souhaitez gérer les paramètres passés à votre page du côté serveur, mais si vous avez eu vos raisons pour lesquelles le faire avec le client, voici un petit script que j'ai trouvé:
function gup( name )
{
name = name.replace(/[\[]/,"\\\[").replace(/[\]]/,"\\\]");
var regexS = "[\\?&]"+name+"=([^&#]*)";
var regex = new RegExp( regexS );
var results = regex.exec( window.location.href );
if( results == null )
return "";
else
return results[1];
}
Pour analyser la chaîne de requête via JS, vous pouvez afficher Utiliser quelque chose comme
function getQueryValue(param) {
var queryStringArray = querystring && querystring.substring(1).split("&");
for (var i=0, length = queryStringArray.length; i < length; i++) {
var token = queryStringArray[i],
firstPart = token && token.substring(0, token.indexOf("="));
if (firstPart === param ) {
return token.substring(token.indexOf("=") + 1, token.length);
}
}
}
Grâce à la nouvelle interface Vous devez vérifier Réseau de développeurs Mozilla pour la compatibilité du navigateur, puisque c'est une nouvelle API. P> P> urlseearchParams code>, il devient plus facile:
Dupliqué possible de Comment puis-je obtenir des valeurs de chaîne de requête dans JavaScript? < / a>