如何从以下网址获取值'b'或值'bluebell':
www.example.com/en/park/wildlife-z/?item=bluebell&loc=b
我知道你可以使用location.search
但是它会返回url的最后一部分吗?
编辑:
这就是我使用的:
function getParameterByName( name,href )
{
name = name.replace(/[\[]/,"\\\[").replace(/[\]]/,"\\\]");
var regexS = "[\\?&]"+name+"=([^&#]*)";
var regex = new RegExp( regexS );
var results = regex.exec( href );
if( results == null )
return "";
else
return decodeURIComponent(results[1].replace(/\+/g, " "));
}
alert(getParameterByName("param1","www.example.com/test?param1=1¶m2=2"));
答案 0 :(得分:0)
虽然已经多次询问过这个问题,但我提出了一段时间后提出的解决方案。我写了一个jquery扩展来做它:
$.extend({
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(hash[0]);
vars[hash[0]] = hash[1];
}
return vars;
},
getUrlVar: function (name) {
return $.getUrlVars()[name] || '';
}
});
然后您可以按如下方式使用它(decodeUri不是必需的,但如果查询字符串是URIEncoded则很方便):
decodeURI($.getUrlVar("Title"))
免责声明:我最初是从博客或本网站获取此内容(并对其进行修改),但我不记得在哪里。没意思从任何人那里获得信任。
答案 1 :(得分:0)
您可以使用php.js并使用parse_url和parse_str函数在PHP中执行此操作:
var url = 'www.example.com/en/park/wildlife-z/?loc=b&str=test';
var query_obj = {};
parse_str( parse_url( url, 'PHP_URL_QUERY' ), query_obj );
// query_obj = {"loc":"b","str":"test"}
同样的结果给出了下面的例子(不使用其他脚本):
var arr = url.slice( url.indexOf( '?' ) + 1 ).split( '&' );
var query_obj = {};
$.each( arr, function( i, value ) {
value = value.split( '=' );
query_obj[value[0]] = value[1];
});
// query_obj = {"loc":"b","str":"test"}
答案 2 :(得分:0)
鉴于你给出的一点点信息,我会这样做:
var result = inputString.Split("=")[1];