Я пытаюсь найти способ установить файл cookie, если параметр URL является постоянным. Проблема заключается в том, что имя параметра URL является наполовину динамическим.getParameter - параметр 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"));
}
Есть идеи?
Каковы значения, которые могут быть xxxx и zzzz? Это только алфавиты? или алфавитов и цифр? Также достаточно, если cookie будет установлен, если присутствует только транзакция слова? – wallop
Также транзакция всегда является первым параметром запроса? – wallop
@Wishy xxxx и zzzz могут быть буквами или цифрами. Параметр может быть в любом месте ссылки. Если это первый, он будет отображаться как «транзакция [XXXX] [zzzzz] = YYYYY', если это не первая, она выглядит как« & transaction [XXXX] [zzzzz] = YYYYY' –