我正在尝试找出一种使用javascript从表单中读取GET方法信息的方法。我们的IT部门使我们的服务器处于锁定状态,作为Web团队,我们只能使用javascript来完成我们的任务。如果可以的话,我会使用PHP,但我不能。
我需要做的是读取js中通过GET方法发送的数据(如果可能),以便我可以将数据分配到变量中,并在用户对表单执行操作后在单个页面上使用它。
即。如果数据是在网址http://somesite.com?add_to_cart=true&items=10
任何帮助将不胜感激!
答案 0 :(得分:6)
This page跑得很好。你不需要jQuery来做到这一点。他们的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];
}
});
将其用于:
// Get object of URL parameters
var allVars = $.getUrlVars();
// Getting URL var by its nam
var byName = $.getUrlVar('name');
答案 1 :(得分:6)
function getQuerystring(key, default_)
{
if (default_==null) default_="";
key = key.replace(/[\[]/,"\\\[").replace(/[\]]/,"\\\]");
var regex = new RegExp("[\\?&]"+key+"=([^&#]*)");
var qs = regex.exec(window.location.href);
if(qs == null)
return default_;
else
return qs[1];
}
var addtocart = getQuerystring('add_to_cart','false');