Я изо всех сил пытался найти способ установить файл cookie, если параметр URL присутствует. Проблема в том, что имя параметра URL наполовину динамическое.
URL-адрес будет:
http://zzzz.test.bbbb/index.html?transaction[XXXX][zzzzz]=YYYYY
Где XXXX
и zzzzz
являются частью имени URL, но могут меняться в зависимости от того, что находится в ссылке.
Как будет выглядеть правильная функция getParameterByName
, чтобы распознать параметр URL transaction[XXXX][zzzzz]
?
Я пробовал это, но это не работает:
function getParameterByName(name) {
name = name.replace(/[\[]/, "\\[").replace(/[\]]/, "\\]");
var regex = new RegExp(name + '(?:\\[\\d+\\]?:\\[\\d+\\])?=' + '(.+?)(&|$)'),
results = regex.exec(location.search);
return results == null ? "" : decodeURIComponent(results[1].replace(/\+/g, " "));
}
if (getParameterByName("transaction")) {
set_cookie ("Transaction_ID", getParameterByName("transaction"));
}
Есть идеи?
?transaction[XXXX][zzzzz]=YYYYY
, если он не первый, он появится как&transaction[XXXX][zzzzz]=YYYYY
- person adrian.m123   schedule 27.09.2014transaction
— это только имя параметра URL, я буду устанавливать куки, запустив функциюif (getParameterByName("transaction")) { set_cookie ("Transaction_ID", getParameterByName("transaction")); }
- person adrian.m123   schedule 27.09.2014transaction
всегда является первым параметром запроса. И да, достаточно, если куки будут установлены, когда в URL присутствует словоtransaction
- person adrian.m123   schedule 27.09.2014