Есть ли JQuery или JS, эквивалентный PHP $name = $_GET['name']?
Я пытаюсь найти способ прочитать информацию о методе GET из формы с помощью JavaScript. В нашем ИТ-отделе наши серверы заблокированы, и как веб-команда мы можем использовать только javascript для выполнения наших задач. Я бы использовал PHP, если бы мог, но не могу.
Что мне нужно сделать, так это прочитать данные, отправленные с помощью метода GET в js, если это возможно, чтобы я мог назначить данные в переменные и использовать их на отдельных страницах после того, как пользователь выполнит действие с формой.
то есть. если данные отправляются в URL http://somesite.com?add_to_cart=true&items=10
Любая помощь будет оценена!
2 ответа
Решение
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');
Эта страница хорошо работает. Вам не нужен 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');