Существует ли JQuery или JS, эквивалентный PHP $ name = $ _GET ['name'] PHP? - PullRequest
1 голос
/ 25 октября 2010

Я пытаюсь найти способ прочитать информацию о методе GET из формы с помощью javascript. В нашем ИТ-отделе наши серверы заблокированы, и как веб-команда мы можем использовать только javascript для выполнения наших задач. Я бы использовал PHP, если бы мог, но не могу.

Что мне нужно сделать, это прочитать данные, отправленные с помощью метода GET в js, если это возможно, чтобы я мог назначать данные в переменные и использовать их на отдельных страницах после того, как пользователь выполнит действие в форме.

есть. если данные отправляются в URL http://somesite.com?add_to_cart=true&items=10

Любая помощь будет оценена!

Ответы [ 2 ]

6 голосов
/ 25 октября 2010
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

6 голосов
/ 25 октября 2010

У этой страницы хороший ход вниз.Вам не нужен 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');
...