- Поисковые системы
- Практика оптимизации
- Трафик для сайтов
- Монетизация сайтов
- Сайтостроение
- Социальный Маркетинг
- Общение профессионалов
- Биржа и продажа
- Финансовые объявления
- Работа на постоянной основе
- Сайты - покупка, продажа
- Соцсети: страницы, группы, приложения
- Сайты без доменов
- Трафик, тизерная и баннерная реклама
- Продажа, оценка, регистрация доменов
- Ссылки - обмен, покупка, продажа
- Программы и скрипты
- Размещение статей
- Инфопродукты
- Прочие цифровые товары
- Работа и услуги для вебмастера
- Оптимизация, продвижение и аудит
- Ведение рекламных кампаний
- Услуги в области SMM
- Программирование
- Администрирование серверов и сайтов
- Прокси, ВПН, анонимайзеры, IP
- Платное обучение, вебинары
- Регистрация в каталогах
- Копирайтинг, переводы
- Дизайн
- Usability: консультации и аудит
- Изготовление сайтов
- Наполнение сайтов
- Прочие услуги
- Не про работу
Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий
fetch
Это да, круто, как и всё где промисы нужны, а сделано без них😕
Но, с fetch пока не спешу. Полифилл сильно больше старого xhr с напильником (промисе).
ArbNet, пара изменений в вашем коде, чтобы намекнуть:
else xhr.open('GET',way,true);
xhr.onreadystatechange = function () {
if(xhr.readyState === XMLHttpRequest.DONE && xhr.status === 200) {
console.log('Response content-type', xhr.getResponseHeader('content-type'));
}
}
content-type и всякие стандарты важно, и под них надо подстроиться
if($res) {echo json_encode(
['data'=>[ 'text'=>$res,
'animal'=>$_GET['animals'],
'memusage'=>$m
]
]); die;
На json обратите внимание. Как минимум функцию parsing сократите.
Потом, когда fetch в полный рост встанет, весь ваш код уместится в нескольких строках.
document.querySelectorAll('input[type=checkbox]').forEach( el=>{el.addEventListener('change', function(e){
const el = e.target||console.error('old browser'); //все равно фетч потом,
if(el.checked){
fetch('ajax.php?animals='+el.value)
.then(response => response.json())
.then(data => console.log(
'Response', data,
'Element', el,
'Dataset', el.dataset,
'Все что надо есть, делаем что хотим' ));
}
});
})
Мои 3 класса образования запрещают делать выводы
timo-71, Согласен.
Я переделываю потихоньку свои скрипты с старого движка применяя новые возможности. Но думаю XMLHttpRequest пока ещё рано удалять, в современных браузерах он работает и для совместимости с старыми сгодится ещё.
Это да, круто, как и всё где промисы нужны, а сделано без них😕
Но, с fetch пока не спешу. Полифилл сильно больше старого xhr с напильником (промисе).
fetch поддерживает почти 94% всех пользователей в мире, не поддерживается только IE и опера мини
например тот же let поддерживает 95% но вы же не юзаете var везде? Тут дело в том, что будут всегда пользователи на диназавровских браузерах и они уже в целом привыкли страдать, вам то зачем привыкать к этому?