2010-12-15 106 views

回答

1

这里是从URL

function getUrlVars() 
{ 
    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; 
} 
+0

我想我也是从表单中完成的,如果有帮助的话。 – IceCat 2010-12-15 19:09:31

+0

你的意思是你也是通过post方法做到的吗?如果这是一篇文章,JavaScript无法解析它。 – kjy112 2010-12-15 19:29:37

0

JavaScript没有一个原生的方式来做到这一点。我见过的大多数函数都需要传递您正在查找的参数的名称,然后使用RegEx从URL中获取它。从使用功能:

Get URL Parameters using JavaScript

你的代码是这样:

var saysVal = gup('says'); 
1

This是(根据作者),可以处理任何URI你能想象一个独立的URI解析库,并允许你使用URI就像你会JS对象(这很好)

例如:

uri = new jsUri('http://user:[email protected]:81/index.html?q=books#fragment'); 

uri.protocol(); // http 
uri.userInfo(); // user:pass 
uri.host();  // www.test.com 
uri.port();  // 81 
uri.path();  // /index.html 
uri.query(); // q=books 
uri.anchor(); // fragment 
0

如果您在使用jQuery有这个插件:

https://github.com/allmarkedup/jQuery-URL-Parser

使用起来还是比较方便了。

如果你想从当前URL读取查询字符串:

jQuery.url.attr("query")

如果你想获取来自其他网址的查询字符串:

jQuery.url.setUrl("http://example.com?id=123").attr("query")

该插件可以也可用于解析URI的其他部分,如:

  • 协议(HTTP,HTTPS,...)
  • 主机

等。

  • 基督教