Добавить строки запроса к существующему ajax url cakephp 3

Допустим, у меня есть btn1 и btn2, которые загружают некоторые данные в div при нажатии на них через Ajax следующим образом:

$(document).on('click', '#btn1', function(e){
var url = "<?= $this->Url->build(['controller' => 'MyController', 'action' => 'my_action', '?' => ['param1' => 'abc']], ['escape' => false]); ?>";

$('#my_container').load(url);
});

$(document).on('click', '#btn2', function(e){
var url = "<?= $this->Url->build(['controller' => 'MyController', 'action' => 'my_action', '?' => ['param2' => 'def']], ['escape' => false]); ?>";

$('#my_container').load(url);
});

Как вы можете видеть выше, каждая кнопка вызывает одно и то же действие контроллера, но передает разные строки запроса (param1 и param2) с разными значениями.

Я хотел бы иметь возможность добавлять строки запроса к текущему URL, а не просто загружать ссылку, прикрепленную к каждой кнопке, что означает:

Если я нажму на btn1, URL-адрес, который я загружу, будет:

http://example.com/mycontroller/my_action/?param1=abc

Но если я затем нажму на btn2, мой URL должен стать:

http://example.com/mycontroller/my_action/?param1=abc&param2=def

Вместо:

http://example.com/mycontroller/my_action/?param2=def

Поэтому я хочу добавить строки запроса к существующему URL.

Имейте в виду, что это звонки Ajax. Таким образом, загруженный в настоящий момент URL не отображается в браузере.

Есть ли CakePHP 3 способ сделать это? Я понимаю, что это работает уже с нумерацией страниц. Кто-нибудь знает, как заставить это работать также с пользовательскими строками запроса?

заранее спасибо

0

Решение

Вы ищете что-то подобное?

function getQueryVariable(variable)
{
var query = window.location.search.substring(1);
var vars = query.split("&");
for (var i=0;i<vars.length;i++) {
var pair = vars[i].split("=");
if(pair[0] == variable){return pair[1];}
}
return(false);
}

Это даст вам текущие элементы строки запроса. теперь вам просто нужно манипулировать этим и использовать его.

Найдено в https://css-tricks.com/snippets/javascript/get-url-variables/

0

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

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

По вопросам рекламы [email protected]