Поймать get c помощью js

233
27 сентября 2017, 11:41

Здравствуйте! Есть страница на которой необходимо поймать GET запрос и если передается id = .., то показывать блок ,а если не то скрывать. Необходимо это сделать с помощью JS.

Answer 1

Вам ничего не нужно "ловить". Со стороны JS доступен URL страницы, в котором будут GET параметры. Просто разберите их из location.search

Answer 2

Перехватывать - идея странная, но возможная через подмену некоторых функций:

function GEThandler(obj){ 
  console.info("GET Request has been requested"); 
} 
 
let _XMLHttpRequestOpen = XMLHttpRequest.prototype.open; 
XMLHttpRequest.prototype.open = function(...args){ 
  if(args[0].toLowerCase() === 'get') GEThandler(this); 
  _XMLHttpRequestOpen.apply(this, args); 
} 
 
let _fetch = fetch; 
fetch = function(...args){ 
  let config = args[1]; 
   
  if(config === undefined || (typeof config === 'object' && 'method' in config && (config.method + '').toLowerCase() === 'get')) 
    GEThandler(this); 
 
  _fetch.apply(this, args); 
} 
 
 
// XMLHttpRequest 
let xhr = new XMLHttpRequest(); 
xhr.open('GET', 'phones.json', true); 
xhr.send(); 
 
 
// fetch 
fetch('/');

READ ALSO
Тестирование в phpUnit Mock-объектами

Тестирование в phpUnit Mock-объектами

Допустим, в тестируемом классе есть несколько публичных методов:

239
Обработка групп элементов формы при ее отправке POST методом

Обработка групп элементов формы при ее отправке POST методом

имеется форма со случайным кол-ом групп элементов, в каждой группе 3 элемента:

150
Объединение периодов

Объединение периодов

Очень сложно описать задачу, которую мне нужно решить, но я постараюсь

131