来自url string

时间:2016-06-28 10:57:34

标签: jquery

我有一个像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" //谢谢

干杯,

3 个答案:

答案 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