Cakephp 3 строка запроса, закодированная & amp;

Я использую CakePHP 3.5 Url Helper сгенерировать несколько URL для вызова с помощью jQuery Ajax. У меня есть следующий Ajax:

$(".container").on("change", "#select_box", function(){
url = '<?= $this->Url->build(["controller" => "tools", "action" => "getTools", "?" => ["param1" => "PARAM1_PLACEHOLDER", "param2" => "PARAM2_PLACEHOLDER"]]); ?>';

url = url.replace("PARAM1_PLACEHOLDER", $(this).val()).replace("PARAM2_PLACEHOLDER", 5);

$("#tools").load(url);
});

И по какой-то причине мой URL выглядит так

/tools/get-tools/param1=1&amp;param2=5 (with &amp; instead of &)

Из-за этого, когда я использую getQuery (‘param2’), чтобы получить значение параметра строки запроса param2, я получаю нулевое значение.

Любая помощь, пожалуйста? Разве это не тот способ, которым я должен построить URL с параметрами строки запроса в CakePHP 3.5?

0

Решение

Вы можете передать второй параметр, чтобы не &:

$this->Url->build([
"controller" => "tools",
"action" => "getTools",
"?" => [
"param1" => "PARAM1_PLACEHOLDER",
"param2" => "PARAM2_PLACEHOLDER"]
], ['escape' => false]);
2

Другие решения

Других решений пока нет …