2017-09-20 1 views
-2

J'essaie d'obtenir des paramètres de requête de l'URL en javascript. J'ai essayé window.location.search et j'ai obtenu les params mais cela n'arrive que la première fois que j'accède à l'URL. Ensuite, il revient vide.comment obtenir des paramètres d'url dans javascript?

J'ai lu quelque part qu'il est dû à demande asynchrone GET. Alors, comment obtenir des paramètres toujours à partir de l'URL en JavaScript?

+1

Votre hypothèse est incorrecte. 'location.search' fonctionnera toujours, sauf si l'emplacement change. – SLaks

+0

Alors pourquoi retourne-t-on des résultats mitigés? Parfois, je reçois les paramètres et parfois je ne le fais pas? – raja

+0

as-tu essayé window.location.hash - https://developer.mozilla.org/fr-ca/docs/Web/API/Location – jeff

Répondre

0

Cela pourrait être utile pour vous.

var getUrlParameter = function getUrlParameter(sParam) { 
    var sPageURL = decodeURIComponent(window.location.search.substring(1)), 
     sURLVariables = sPageURL.split('&'), 
     sParameterName, 
     i; 

    for (i = 0; i < sURLVariables.length; i++) { 
     sParameterName = sURLVariables[i].split('='); 

     if (sParameterName[0] === sParam) { 
      return sParameterName[1] === undefined ? true : sParameterName[1]; 
     } 
    } 
}; 
And this is how you can use this function assuming the URL is, 
http://dummy.com/?technology=jquery&blog=jquerybyexample. 

var tech = getUrlParameter('technology'); 
var blog = getUrlParameter('blog'); 
0
function Myfunction(myvar){ 
    var urls = myvar; 
    var myurls = urls.split("?id="); //will return the parameter after "?" 
    var mylasturls = myurls[1]; 
    var mynexturls = mylasturls.split("&"); 
    var url = mynexturls[0]; 
    alert(url) 
} 
0

Vous pouvez utiliser les nouvelles API javascript, URL et URLSearchParams

var link = new URL('https://google.com.ec?q=blable%20bli&q=2312&dog=true') 
 
var params = link.searchParams 
 
var keys = [...new Set([...params.keys()])] 
 

 
console.log('keys: ', keys) 
 

 
for (var key of keys) 
 
    console.log(key, params.getAll(key))