2016-06-08 110 views
-2

我有一種可能的方式在jQuery url中使用GET變量。就像在PHP中,我們有這樣的事情:JQuery URL GET變量

header('location : path/to/page.php?id='.$id); 

,並在page.php文件,我們這樣做:

$id = $_GET['id']; 

所以在jQuery的,我們可以這樣做:

window.location.replace(path/to/page.html/* and pass the url query here*/); 
+0

爲什麼要投票? –

+0

你想重寫路徑'path/to/page.php?id =?'到'path/to/page.html'爲什麼不使用htaccess? – madalinivascu

回答

2

我認爲你要找的是訪問javascript中的查詢字符串($ _GET in php)變量。你可以使用這個功能。

function getParameterByName(name, url) { 
    if (!url) url = window.location.href; 
    name = name.replace(/[\[\]]/g, "\\$&"); 
    var regex = new RegExp("[?&]" + name + "(=([^&#]*)|&|#|$)"), 
     results = regex.exec(url); 
    if (!results) return null; 
    if (!results[2]) return ''; 
    return decodeURIComponent(results[2].replace(/\+/g, " ")); 
} 

,然後調用getParameterByName('id')得到當前URL的?id=val一部分。

0

你也可以使用位置將數據傳遞到另一個頁面。替換:

idVal = 1; 
window.location.replace("path/to/page.php?id="+idVal); 
0

使用js函數來做到這一點...

var getUrlVars = function(){ 
     var vars = [], hash; 
     var hashes = window.location.href.slice(window.location.href.indexOf('?') + 1).split('&'); 
     for(var i = 0; i < hashes.length; i++){ 
      hash = hashes[i].split('='); 
      vars.push(decodeURIComponent(hash[0])); 
      vars[decodeURIComponent(hash[0])] = decodeURIComponent(hash[1]); 
     } 
     if(vars[0] == window.location.href){ 
      vars =[]; 
     } 
     return vars; 
    } 

然後在任何你想使用

var params = getUrlVars(); 
console.log(params["id"]); 
console.log(params["whatever"]); 

你可以使用任何你想要的。