В JavaScript вы можете перехватить и получить ответ от XMLHttpRequest запроса, используя событие `readystatechange`.
Пример кода:
```javascript
var xhr = new XMLHttpRequest();
xhr.open("GET", "url_запроса", true);
xhr.onreadystatechange = function() {
if (xhr.readyState === 4 && xhr.status === 200) {
var response = xhr.responseText;
// обработка ответа
console.log(response);
}
};
xhr.send();
```
В этом примере мы создаем новый объект XMLHttpRequest, открываем GET-запрос на указанный URL, и назначаем функцию обратного вызова на событие `readystatechange`. После отправки запроса и получения ответа, функция обратного вызова проверяет состояние запроса (`readyState`) и код состояния (`status`). Когда `readyState` равен 4 (завершено) и `status` равен 200 (успешный ответ), мы получаем ответ с помощью метода `responseText` и обрабатываем его по нашему усмотрению.
Чтобы перехватить ответ с данными, при использовании headless браузера и вставке JS-скриптов на страницу, можно использовать тот же подход. Вы можете вставить код события `readystatechange` на страницу и перехватить ответ внутри этого кода.
Пример кода:
```javascript
// Вставка JS-скрипта на страницу с headless браузером
var script = document.createElement('script');
script.innerHTML = `
var xhr = new XMLHttpRequest();
xhr.open("GET", "url_запроса", true);
xhr.onreadystatechange = function() {
if (xhr.readyState === 4 && xhr.status === 200) {
var response = xhr.responseText;
// обработка ответа
console.log(response);
}
};
xhr.send();
`;
document.head.appendChild(script);
```
В этом примере мы создаем новый элемент `<script>`, вставляем код XMLHttpRequest запроса со событием `readystatechange`, и вставляем этот элемент `<script>` в `<head>` страницы с headless браузером. При выполнении страницы, код будет выполнен и выведет ответ в консоль.