Функция ajax запроса на plain js.
function ajax(params) {
var request = new XMLHttpRequest();
request.open(params.type, params.url, params.async ? params.async : true);
request.onload = function() {
if (request.status >= 200 && request.status < 400) {
// Успешный запрос
if (params.success) params.success(request.responseText);
} else {
// Запрос дошел до сервера, но вернул ошибку
if (params.error) params.error(request, request.status);
}
};
request.onerror = function() {
// Ошибка запроса
if (params.error) params.error(request, request.status);
};
request.setRequestHeader('Content-Type', params.contentType ? params.contentType : 'application/x-www-form-urlencoded; charset=UTF-8');
request.send(params.data);
}
Вызов функции. В колбеке success делаем с ответом что хотим. Не забывайте, что XHR запросы происходят асинхронно.
ajax({
type: 'GET',
url: 'https://jsonplaceholder.typicode.com/posts',
contentType: 'application/json; charset=UTF-8',
data: { key: 'prop' },
async: true,
success: function(response) {
console.log(response);
},
error: function(xhr, status) {
console.log(xhr, status);
}
});