如何从Javascript中的URL中提取GET参数?

TIM*_*MEX 7 javascript string

可能重复:
在javascript中使用url的get参数

假设我有这个网址:

s = 'http://mydomain.com/?q=microsoft&p=next'
Run Code Online (Sandbox Code Playgroud)

在这种情况下,如何从字符串中提取"microsoft"?我知道在python中,它将是:

new_s = s[s.find('?q=')+len('?q='):s.find('&',s.find('?q='))]
Run Code Online (Sandbox Code Playgroud)

Chr*_*row 5

我使用这里提供的parseUri库:http://stevenlevithan.com/demo/parseuri/js/

它可以让你完全按照你的要求去做:

var uri = 'http://mydomain.com/?q=microsoft&p=next';
var q = uri.queryKey['q'];
// q = 'microsoft'
Run Code Online (Sandbox Code Playgroud)


opH*_*AME 2

(function(){

    var url = 'http://mydomain.com/?q=microsoft&p=next'
    var s = url.search.substring(1).split('&');

    if(!s.length) return;

    window.GET = {};

    for(var i  = 0; i < s.length; i++) {

        var parts = s[i].split('=');

        GET[unescape(parts[0])] = unescape(parts[1]);

    }

}())
Run Code Online (Sandbox Code Playgroud)

认为这会起作用..

  • `解码URIComponent`。`escape`/`unescape` 几乎总是一个错误。 (2认同)