Для симуляции запроса iframe с использованием axios или XMLHttpRequest, вам надо создать запрос, который отправляет POST-запрос с контекстом iframe внутри.
Сначала мы создадим HTML-страницу, содержащую <form>
с методом POST
и атрибутом target="_blank"
. Внутри формы будет <input>
с именем message
и значением Hello, World!
, а также кнопка "Submit" для отправки формы.
<!DOCTYPE html> <html> <head> <title>Simulated iFrame Request</title> </head> <body> <form action="http://example.com" method="POST" target="_blank"> <input type="hidden" name="message" value="Hello, World!"> <button type="submit">Submit</button> </form> </body> </html>
Чтобы симулировать такой запрос с использованием axios, вам необходимо отправить POST-запрос с данными, как указано выше.
const axios = require('axios'); axios.post('http://example.com', { message: 'Hello, World!' }) .then(response => { console.log(response); }) .catch(error => { console.error(error); });
axios.post
отправляет POST-запрос по указанному URL с указанными данными. В приведенном случае мы отправляем данные { message: 'Hello, World!' }
на http://example.com
. Вы можете изменить URL и данные, чтобы соответствовать вашим потребностям.
Использование XMLHttpRequest для симуляции запроса iframe требует некоторого дополнительного кода в сравнении с axios.
const xhr = new XMLHttpRequest(); xhr.open('POST', 'http://example.com'); xhr.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded'); xhr.onreadystatechange = function () { if (xhr.readyState === XMLHttpRequest.DONE) { if (xhr.status === 200) { console.log(xhr.responseText); } else { console.error(xhr.statusText); } } }; const data = 'message=Hello%2C%20World%21'; xhr.send(data);
В приведенном примере мы открываем новый XMLHttpRequest с методом POST и указываем URL. Затем мы устанавливаем заголовок Content-Type
на application/x-www-form-urlencoded
, чтобы указать, что отправляемые данные будут преобразованы в URL-кодированный формат.
Затем мы определяем функцию onreadystatechange
, которая будет вызываться при изменении состояния запроса. Здесь мы проверяем, что состояние запроса равно XMLHttpRequest.DONE
, и если статус ответа - 200
, то выводим содержимое ответа. В противном случае, выводим сообщение об ошибке.
Наконец, мы создаем строку данных, в которой message
кодируется как Hello%2C%20World%21
, и отправляем данные с помощью xhr.send(data)
.
Таким образом, с использованием axios или XMLHttpRequest, вы можете симулировать запрос iframe, отправляя POST-запрос с заданными данными на указанный URL.