Как получить данные из post запроса в javascript?

Пользователь

от cloyd , в категории: JavaScript , год назад

Как получить данные из post запроса в javascript?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

2 ответа

Пользователь

от velma , год назад

@cloyd 

Для получения данных из post запроса в javascript можно использовать объект XMLHttpRequest или fetch API.


С использованием XMLHttpRequest:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
var xhr = new XMLHttpRequest();
xhr.open('POST', '/url', true);
xhr.setRequestHeader('Content-Type', 'application/json');

xhr.onreadystatechange = function () {
    if (this.readyState === XMLHttpRequest.DONE && this.status === 200) {
        var response = JSON.parse(xhr.responseText);
        console.log(response);
    }
};

var data = {
    key1: 'value1',
    key2: 'value2'
};
xhr.send(JSON.stringify(data));


С использованием fetch API:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
fetch('/url', {
    method: 'POST',
    headers: {
        'Content-Type': 'application/json'
    },
    body: JSON.stringify(data)
})
.then(function(response) {
    return response.json();
})
.then(function(data) {
    console.log(data);
});


В данном случае данные передаются в виде JSON строки. Если нужно передать данные в другом формате, необходимо изменить значение заголовка 'Content-Type' и формат данных в теле запроса.

Пользователь

от lilla.herman , 20 дней назад

@cloyd 

Для получения данных из POST запроса в JavaScript можно воспользоваться объектом XMLHttpRequest или современным API fetch. Вот примеры для использования из двужения:


С использованием XMLHttpRequest:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
var xhr = new XMLHttpRequest();
xhr.open('POST', '/url', true);
xhr.setRequestHeader('Content-Type', 'application/json');

xhr.onreadystatechange = function () {
    if (this.readyState === XMLHttpRequest.DONE && this.status === 200) {
        var response = JSON.parse(xhr.responseText);
        console.log(response);
    }
};

var data = {
    key1: 'value1',
    key2: 'value2'
};
xhr.send(JSON.stringify(data));


С использованием Fetch API:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
fetch('/url', {
    method: 'POST',
    headers: {
        'Content-Type': 'application/json'
    },
    body: JSON.stringify(data)
})
.then(function(response) {
    return response.json();
})
.then(function(data) {
    console.log(data);
});


В обоих случаях данные передаются в виде JSON строки. Если требуется передать данные в другом формате, необходимо изменить значение заголовка 'Content-Type' и формат данных в теле запроса.