【问题标题】:Is there a JQuery or JS equivalent to PHP's $name = $_GET['name']是否有相当于 PHP 的 $name = $_GET['name'] 的 JQuery 或 JS
【发布时间】:2011-04-30 09:17:10
【问题描述】:

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

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

即。如果在 url 中发送数据http://somesite.com?add_to_cart=true&items=10

任何帮助将不胜感激!

【问题讨论】:

  • 你确实意识到 JS 是一个客户端环境,对吧?
  • 你是说做这个客户端吗?获取信息仅在服务器端可用。
  • 是的。我确实意识到 JS 是客户端。不幸的是,我的能力有限,因为我不能使用服务器端代码。
  • 是的,这就是为什么我想知道 JS 是否可以做到:)

标签: php javascript jquery forms get-method


【解决方案1】:
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

【讨论】:

  • 我也正要发这个! (Source)
  • 不错的解决方法。我很惊讶这不是 jquery 库的一部分。
【解决方案2】:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-12-24
    • 1970-01-01
    • 2011-11-08
    • 1970-01-01
    • 1970-01-01
    • 2012-10-05
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多