Как получить значение GET параметра
Привет!
Есть url с get параметрами param1=1¶m2=2 Вопрос как вытащить значение param1 ? Через js |
Неужели вариантов попроще этого нет? http://stackoverflow.com/questions/9...-in-javascript
|
Вытаскивай на сервере. Тебе че с этими параметрами надо делать?
|
На сервере мне нинужно. У меня при нажатии на кнопку должен браться get параметр id из url (в js), кнопка такая и на других страницах где id другой. и аяксом передаю например post параметр id_product = переменная,тот самый уникальный get параметр из url на котором эта кнопка.
|
<form action="/buy.php"> <input type="hidden" name="product_id" value="<?= $_GET['product_id'] ?>"> <button type="submit">Купить</button> </form> |
danik.js спасибо. но это мне не поможет. при нажатии на кнопку у меня проверяется выбран ли размер,он хранится в сессии при обновлении страницы сессия удаляется. если не выбран то аяксом вывожу сообщение если выбран то появляется окошко где выбор в корзину или продолжить. все это дело висит на событии клик и дальше обработка через аякс. если сделать запрос скрытой формой то как минимум обновиться страница сессия удалится и дальше с ней работать не получится или что хуже выведется сообщение выберите размер..
|
Дык ты не выводи кнопку Купить пока не будет выбран размер.
Ну и от аякса я не требую отказаться. Просто предложил вариант передачи нужного параметра удобным способом. Ведь на серваке парсер параметров уже встроен, так нафига велосипедить? К тому же заяксить форму очень просто, благодаря serialize() |
Возникла такая мысль, можно ли так сделать?
получаем переменную при клике на кнопку var name = $.trim($('#addCart').val()); и дальше подставить это значение в параметр product_id <button id="addCart" value="<?=$_GET["id"]?>">Добавить в корзину</button> |
Ну дык тоже самое, только ты вместо serialize() все вручную делаешь. Эффект тот же, только кода больше )
|
А вобще, нужно думать чтобы работало как со скриптами, так и без них.
Я скорее закрою сайт, чем включу js. Если он не какой-нибудь уникальный. |
И какой же пользователь отключит js. Если он не какой-нибудь уникальный.
|
danik.js,
чет ты херню написал вот в этом участке value="<?= $_GET['product_id'] ?> |
В плане экранирования (тут тупо (int) пойдет ) и проверки isset? Ай, ты думаешь у них других дыр и косяков нету чтоли?
Ну и для таких дел шаблонизаторы юзают. |
Шаблоном и сделал)
|
Пора давно на фильтры переходить http://php.net/manual/ru/book.filter.php
К примеру написал себе сахарную обертку используя filter_input и filter_var static function _($data_name, $params = 'string', $default = null ){} используешь echo Filter::_('get.product_id', 'int'); |
Цитата:
var get = {}; if (location.search) { var c = location.search.substring(1).split('&'); for (var i = 0; i < c.length; i++) { var ar = c[i].split('='); if (ar[0] != '') { get[ar[0]] = unescape(ar[1]); } } } // использование var query = get['query']; // $query = $_GET['query']; |
Да не нужно парсить query строку на клиенте. Че вы как дети то, с первого раза не поймете.
|
Цитата:
|
Цитата:
|
Цитата:
|
Цитата:
<form action="http://www.example.com/proc.php/?foo=90&var=bar&baz=Lighter" method="post"> на сервере будет и $_POST и $_GET одновременно. Следовательно если вы хотите через аякс жиквери, то в свой .post вписываете точно такой же урл и получите то же самое. |
Цитата:
Максимум что можно сделать полезного, это пересобрать урл из компонентов location чтобы, допустим, вставить правильное имя модели или скрипта. А с параметрами он сам разберется. Ибо они по определению могут прийти с клиента _какие_угодно_ Понимаете? Если скрипт будет ждать от клиента праведных данных, он быстро станет грешником. |
У меня вообще вот так сделано
var action = form.action; if(!action || action.trim().length<1) action=location.href; потому что пишут нельзя отгружать форму без action. Я проверять не стал, сделал затыкон. То есть все что в адресной строке есть - то пойдет в Action формы и по XMLHttpRequest уедет на сервер под грифом ("X-Requested-With", "XMLHttpRequest") |
kostyanet, че за ебала. Зачем это?
|
Если ты не прописал атрибут action, даже пустой - пиздить тебя надо палкой.
|
Часовой пояс GMT +3, время: 14:37. |