是否有一个JQuery或JS等效于PHP的$ name = $ _GET ['name']

时间:2010-10-25 18:45:50

标签: php javascript jquery forms get-method

我正在尝试找出一种使用javascript从表单中读取GET方法信息的方法。我们的IT部门使我们的服务器处于锁定状态,作为Web团队,我们只能使用javascript来完成我们的任务。如果可以的话,我会使用PHP,但我不能。

我需要做的是读取js中通过GET方法发送的数据(如果可能),以便我可以将数据分配到变量中,并在用户对表单执行操作后在单个页面上使用它。

即。如果数据是在网址http://somesite.com?add_to_cart=true&items=10

中发送的

任何帮助将不胜感激!

2 个答案:

答案 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');

来源:http://www.bloggingdeveloper.com/post/JavaScript-QueryString-ParseGet-QueryString-with-Client-Side-JavaScript.aspx