Знакомлюсь с аяксом вот
тут, конкретно с функцией
fetch(). Представленный в уроке способ преобразования полученных данных в текст меня разочаровал(возможно этот способ не единственный, но других я пока не знаю):
let promise = fetch(ajax.html);
promise.then(
response => {
return response.text();
}
).then(
text => {
document.getElementById(result).innerHTML = text;
}
);
Чтобы каждый раз не прописывать эту тягомотину, я подключил в head файл easy_fetch.js с таким скриптом:
function ajaxto(adress, elem) { //функция, которая берет аякс по адресу в adress и ложит в элемент с id elem
let promise = fetch(adress);
promise.then(
response => {
return response.text();
}
).then(
text => {
document.getElementById(elem).innerHTML = text;
}
);
}
Собственно, вопрос. Такая конструкция:
button.addEventListener('click', ajaxto('ajax.html' , 'result') );
при загрузке сразу же исполняла код, и в окне result появлялось содержимое без клика. Поменял, установил атрибут onclick элемента result на выполнение той функции, и все как надо заработало, при клике. Это какие-то подводные у addEventListener?