Показать сообщение отдельно
  #3 (permalink)  
Старый 12.02.2023, 22:20
Аватар для Aetae
Тлен
Отправить личное сообщение для Aetae Посмотреть профиль Найти все сообщения от Aetae
 
Регистрация: 02.01.2010
Сообщений: 6,586

Если руками запрос почему-то отправить не получается(хотя по-хорошему надо разбиваться именно с этим), то можно перед отправкой подменить xmlhttp\fetch и получить ответ таким образом, условно:
function callback(response) {
  console.log('response', response);
}

window.XMLHttpRequest.prototype.open = ((open) => function(method, url, async){
  if (typeof url === 'string' && url.includes('site.ru/endpoint')) {
    this.addEventListener('load', () => callback(JSON.parse(this.responseText)), {once: true});
  }
  
  return open.apply(this, arguments);
})(window.XMLHttpRequest.prototype.open);

window.fetch = ((fetch) => function(url, options){
  const req = fetch.apply(this, arguments);
  
  if (typeof url === 'string' && url.includes('site.ru/endpoint')) {
    req.then(res => res.json()).then(callback);
  }
  
  return req;
})(window.fetch);
__________________
29375, 35
Ответить с цитированием