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>