如何使用Javascript从URL中提取值?
我将有一个如下URL: http://website/index.html?id=1234&type=something 传递的id和类型将根据用户在另一端执行的操作而有所不同 使用Javascript,我希望获得用作变量的id和类型,如下所示: var theID=1234 变量类型=某物 但我不知道如何从URL中提取这些值,并像上面那样设置这些值。我该怎么做呢?试试这个如何使用Javascript从URL中提取值?,javascript,Javascript,我将有一个如下URL: http://website/index.html?id=1234&type=something 传递的id和类型将根据用户在另一端执行的操作而有所不同 使用Javascript,我希望获得用作变量的id和类型,如下所示: var theID=1234 变量类型=某物 但我不知道如何从URL中提取这些值,并像上面那样设置这些值。我该怎么做呢?试试这个 function qs(url, key) { var vars = [], hash; var hash
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解码值,请使用decodeURIComponentstr或iso1传统解码值,请使用decodeURIstr
// 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);
}
重复:@davidbq-谢谢,这正是我所需要的。我不想将任何值传递到函数中,而这段代码直接从URL获取它。谢谢