View registerJsFile и GET-параметры

Уже исправленные репорты или принятые предложения
Ответить
belotur
Сообщения: 14
Зарегистрирован: 2017.05.06, 00:04

View registerJsFile и GET-параметры

Сообщение belotur »

Всем привет.
Недавно столкнулся с проблемой и при попытке её решения напоролся вот на что: при использовании registerJsFile() первый атрибут - Url (строка с Url), если в ней написать несколько GET-параметров, то амперсанды заэскейпятся (&, разумеется). Т.о., запрос ломается если у нас более одного GET-параметра.
Я попробовал воспользоваться подстроиться под параметры хелпера Url - передать массив (['//url/address', 'get1' => 'foo', 'get2' => 'bar'], но yii тут же свалился жалуясь на неуспешную попытку разрешения алиаса (т.е. ему нужна строка).

Как же быть, если есть необходимость передать скрипту несколько GET-параметров (обычно это сторонние скрипты сервисов и с ними мы ничего поделать неможем... Например, ReCaptcha от Google)?
Аватара пользователя
samdark
Администратор
Сообщения: 9489
Зарегистрирован: 2009.04.02, 13:46
Откуда: Воронеж
Контактная информация:

Re: View registerJsFile и GET-параметры

Сообщение samdark »

При чём тут хелпер Url? registerJsFile(), как и описано в документации, принимает готовую строку. Дайте пример кода, который работает не так.
belotur
Сообщения: 14
Зарегистрирован: 2017.05.06, 00:04

Re: View registerJsFile и GET-параметры

Сообщение belotur »

Собственно, наткнулся на проблему здесь: https://github.com/himiklab/yii2-recapt ... th=04c6e90

$arguments = http_build_query([
'hl' => $this->getLanguageSuffix(),
'render' => 'explicit',
'onload' => 'recaptchaOnloadCallback',
]);

$view->registerJsFile(
self::JS_API_URL . '?' . $arguments,
['position' => $view::POS_END]
);

попробовал и задумался, в итоговой строке были эскейпы (&) вместо амперсандов (&)...
Аватара пользователя
ElisDN
Сообщения: 5841
Зарегистрирован: 2012.10.07, 10:24
Контактная информация:

Re: View registerJsFile и GET-параметры

Сообщение ElisDN »

Это спецификация HTML все адреса с эскейпами строить.
belotur
Сообщения: 14
Зарегистрирован: 2017.05.06, 00:04

Re: View registerJsFile и GET-параметры

Сообщение belotur »

Точно, нашёлъ!
Ответить