我會有這樣的URL:如何使用Javascript從URL中提取值?
http://website/index.html?id=1234&type=something
的標識和類型傳遞將根據用戶確實在另一端有什麼不同。
使用JavaScript,我想要得到的id和類型被用作變量,像這樣:
var theID = 1234
var theType = something
但我不知道如何從拉這些值網址並設置上面的值。我怎樣才能做到這一點?
我會有這樣的URL:如何使用Javascript從URL中提取值?
http://website/index.html?id=1234&type=something
的標識和類型傳遞將根據用戶確實在另一端有什麼不同。
使用JavaScript,我想要得到的id和類型被用作變量,像這樣:
var theID = 1234
var theType = something
但我不知道如何從拉這些值網址並設置上面的值。我怎樣才能做到這一點?
試試這個
function qs(url, key) {
var vars = [], hash;
var hashes = url.slice(url.indexOf('?') + 1).split('&');
for (var i = 0; i < hashes.length; i++) {
hash = hashes[i].split('=');
vars.push(hash[0]);
vars[hash[0]] = hash[1];
}
return vars[key];
}
var url = YourUrl;
alert(qs(url,'id'));
我UTIL功能,它有點髒,但能夠完成任務。沒有必要拆分數組只有幾個indexOf函數。如果你想UTF8解碼值使用decodeURIComponent(STR)或ISO1傳統解碼使用decodeURI(STR)
// parse parameter value from url (case sensitive)
function getURLParam(strURL, strKey) {
// http://mywebapp/do.url?key1=val1&key2=val2
var idx = strURL.indexOf('?');
if (idx < 0) return ""; // no params
// "&key1=val1&key2=val2&"
strURL = "&" + strURL.substring(idx+1) + "&";
idx = strURL.indexOf("&" + strKey + "=");
if (idx < 0) return ""; // param not found
// "&key1=val1&key2=val2&" -> "val1&key2=val2&" -> "val1"
strURL = strURL.substring(idx + strKey.length + 2);
idx = strURL.indexOf("&");
return strURL.substring(0, idx);
}
重複:http://stackoverflow.com/questions/901115/how-can-i-get-query - 字符串值 – DarkBee
http://papermashup.com/read-url-get-variables-withjavascript/ – davibq
@davibq - 謝謝,這對我所需要的是完美的。我不想將任何值傳遞給該函數,並且此代碼直接從URL中獲取。謝謝! – ZeekLTK