Удалить параметры получения из URL в JS - PullRequest
0 голосов
/ 18 июня 2020

У меня есть система поддержки билетов, которая рассылает электронные письма с указанием c ссылок на билеты. Вот пример ссылки:

"taptap.com/tt_dev/taptapeat/?iTicket_ID=11#/app/controller/ticket

Это предварительно заполняет страницу тикета идентификатором и заполняет его. Теперь , проблема в том, что я не хочу, чтобы «? iTicket_ID = 11» оставался. Я попробовал несколько вещей:

Во-первых, я правильно генерирую URL-адрес, который не имеют параметры получения и работают нормально. Я могу легко получить "taptap.com/tt_dev/taptapeat/#/app/controller/ticket" по указанной выше ссылке.

После входа на страницу я попытался запустить обе эти строки кода:

window.history.replaceState({}, document.title, "/" + newUrl);
// and
window.history.pushState({}, document.title, "/" + newUrl);

Эти строки кода, даже если они выполняются ПОСЛЕ заполнения тикета, стирают всю информацию со страницы. Как будто он никогда не запускался. Вот строка, которую я запускаю ПЕРЕД запуском вышеуказанного кода:

const queryString = window.location.search;
const urlParams = new URLSearchParams(queryString);
$scope.ticketData.ticket.iTicket_ID = urlParams.get('iTicket_ID');

Но эти строки, похоже, ничего не делают.

Так что вместо этого я тоже пытаюсь это сделать в функции "оставить":

  $scope.$on('$ionicView.leave', function() {
     window.history.pushState({}, document.title, "/" + newUrl); 
  });

Это вообще ничего не делает - на странице I a гоняться после ухода, мои параметры получения сохраняются. Спасибо за любую помощь!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...