async function doAjaxThings() {
var test = await postAjax(url, data);
console.log(test);
};
doAjaxThings();
async function postAjax(url, data) {
return await new Promise((resolve, reject) => {
....
var ready = (callback) => {
if (document.readyState != "loading") callback();
else document.addEventListener("DOMContentLoaded", callback);
}
ready(() => {
var test = postAjax(url, data)
console.log(test);
});
async function postAjax (url, data) {
return await new Promise((resolve, reject) => {
var xhr = new XMLHttpRequest();
xhr.open('POST', url, true);
xhr.responseType = 'json';
xhr.setRequestHeader('X-Requested-With', 'XMLHttpRequest');
xhr.setRequestHeader('Content-Type', 'application/json; charset=UTF-8');
xhr.send(JSON.stringify(data));
xhr.onload = function() {
if (xhr.readyState === 4 && xhr.status === 200) {
resolve(xhr.response);
}
};
}).then(
response => {
console.log(response);
return response;
}
);
}
const postAjax = async (url, data) => {
return await new Promise(...);
};
в доке почему то смотрят вариант с отдельной страницей с формой обратной связи. это я разобрался как работает. да, мне не понятно, почему не рассмотрен такой простой случай, когда форма может быть на каждой странице. и как дернуть функционал мимо каждого компонента. даже просто пример: есть старый сайт, мне понадобилось добавить на все страницы форму. мне нужно пройти все компоненты новостей, обычных страниц, тут могут быть любые другие компоненты и т. д., и в каждом что то наследовать или переопределять?