6
votes

Comment lire une demande d'achat avec JavaScript?

donc j'ai une page HTML appelée a.html il a été appelé comme ceci à partir de b.html : a.html? var-bla- bla " est-il correct pour envoyer des arguments à JS? Comment analyser Args de JS?

(n'utilisant aucun cadres tels que JQuery, travaillant dans IE6, Firefox 3)


5 Réponses :


7
votes

Utilisez emplacement.search : xxx

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: xxx

alors vous pouvez y accéder comme < Code> Demande ['varstring'] et cela vous donnera "bla-bla-bla" .


0 commentaires

8
votes

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 
}


0 commentaires

2
votes

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];
}


0 commentaires

0
votes

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);
            }
        }
 }


0 commentaires

0
votes

Grâce à la nouvelle interface urlseearchParams , il devient plus facile: xxx

Vous devez vérifier Réseau de développeurs Mozilla pour la compatibilité du navigateur, puisque c'est une nouvelle API.


0 commentaires