我有一个像http://www.example.com/?chicken?toast
这样的网址字符串我希望能够在每个之后存储值?字符。
我有它正在努力获得最后的价值 - 但似乎无法存储第一个......
用于获取最后一个值的代码是:
window.lastValue = window.location.href.substring(window.location.href.lastIndexOf('?') + 1);
我怎样才能存储第一个呢?
所以firstValue = chicken和lastValue = toast
更新 - 如何通过展平数组来存储totalVal?所以,如果数组是["鸡肉","吐司"]我需要将其扁平化为带有"的字符串。"在数组中的每个项目之前 - 所以如果数组是["鸡肉","吐司"]它将成为" .chicken.toast" - 如果阵列是["鸡肉"]它将成为" .chicken" //谢谢
干杯,
答案 0 :(得分:1)
这将为您提供所需值的数组:
var r = window.location.href.split("?");
r.shift();
console.log(r);
如果总有两个值,您可以使用它来提取它们:
var val1 = r.shift();
var val2 = r.shift();
这是一个提供.chicken
结果的版本:
var r = window.location.href.split("?");
r[0]='';
var totalval = r.join('.');
答案 1 :(得分:1)
我建议:
// obviously, in production you should use document.location.href:
var url = "http://www.example.com/?chicken?toast",
// take a substring of the url variable, starting at the index of
// the (first) '?' character and running to the end of the string,
// giving "?chicken?toast", we then split that resultant string
// on the '?' characters, and filter the resulting array using
// filter(Boolean), which retains only the true/truthy array-elements:
values = url.substring(url.indexOf('?')).split('?').filter(Boolean);
console.log(values);
var url = "http://www.example.com/?chicken?toast",
values = url.substring(url.indexOf('?')).split('?').filter(Boolean);
console.log(values);
相反,您可以使用document.location.search
从第一个'?'
开始检索子字符串(如果使用document.location.href
)。
参考文献:
答案 2 :(得分:0)
var sPageURL = decodeURIComponent(window.location.search.substring(1)),
sURLVariables = sPageURL.split('&'),
sParameterName,
i;
for (i = 0; i < sURLVariables.length; i++) {
sParameterName = sURLVariables[i].split('=');
// Do something with the name sParameterName[0]
// Do something with the value sParameterName[1]
}
此引用可能对您有用: http://www.jquerybyexample.net/2012/06/get-url-parameters-using-jquery.html