XMLHttpRequest ()
Вы можете использовать конструктор XMLHttpRequest()
для создания нового объекта XMLHttpRequest
(XHR), который позволит вам взаимодействовать ссервер, использующий стандартные методы HTTP-запроса (например, GET
и POST
):
const data = JSON.stringify({
example_1: 123,
example_2: 'Hello, world!',
});
const request = new XMLHttpRequest();
request.addEventListener('load', function () {
if (this.readyState === 4 && this.status === 200) {
console.log(this.responseText);
}
});
request.open('POST', 'example.php', true);
request.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded; charset=UTF-8');
request.send(data);
fetch ()
Youтакже можно использовать метод fetch()
для получения Promise
, который разрешается в объект Response
, представляющий ответ на ваш запрос:
const data = JSON.stringify({
example_1: 123,
example_2: 'Hello, world!',
});
fetch('example.php', {
method: 'POST',
headers: {
'Content-Type': 'application/x-www-form-urlencoded; charset=UTF-8',
},
body: data,
}).then(response => {
if (response.ok) {
response.text().then(response => {
console.log(response);
});
}
});
navigator.sendBeacon ()
С другой стороны, если вы просто пытаетесь POST
данных и не нуждаетесь в ответе с сервера, самый короткийрешение будет использовать navigator.sendBeacon()
:
const data = JSON.stringify({
example_1: 123,
example_2: 'Hello, world!',
});
navigator.sendBeacon('example.php', data);