LINUX.ORG.RU

Документация по отправке rest запросов с фронтенда странички

 , ,


0

1

Народ, сейчас как понимаю веб приложения лепять не с перегрузкой страницы на каждый чих, а отправкой json запроса и изменением DOM страницы после прочтения ответа, покидайте плз ссылок с чего начать - html css знаю, html5 и canvas не знаю, посмотрел что из доков у mozilla лежит - там трындец этих браузерных api много https://developer.mozilla.org/ru/docs/Web/API

Посоветуйте вменяемый learning path (или XMLHttpRequest под мои нужды достаточно?)

★★

Посоветуйте вменяемый learning path

Выбери какой-то фреймворк (react, vue, etc) и изучай его. Сейчас разработка идет на фреймворках.

goingUp ★★★★★
()

сейчас как понимаю веб приложения лепять не с перегрузкой страницы на каждый чих

Этот подход и сейчас актуален, особенно, когда вокруг всё тормозит и виснет, ждёшь по пол часа, зато без перезагрузки страницы, лол. Совсем не обязательно:

а отправкой json запроса и изменением DOM страницы после прочтения ответа

А если хочется такого, то проще сразу брать что-то типо Vue.js.

th3m3 ★★★★★
()

популярные ферймворки - легаси(устаревшие) т.к. переизобретают компонентную модель и колхозят рендеринг на жс, не легаси - Web Comonents (Custom Elements, Native Templates, Shadow DOM), но среди фреймворков на этих стандартах тоже много клонов рякта на антипаттернах, например хардкоде верстки в код или отрицании ООП

Syncro ★★★★★
()
Последнее исправление: Syncro (всего исправлений: 1)

а насчет хттп клиента, в большинстве случаев кажется достаточно обертки на промисах для того же XMLHttpRequest, типа вот такой

export class XmlHttpClient extends HttpClientBase {

 
    request(url, type = 'GET', contentType, body, headers) {
        return new Promise((resolve, reject) => {
            let xhr = new XMLHttpRequest();
            xhr.open(type, url);
            if (contentType !== ARG_CONTENT_TYPE_AUTO) {
                xhr.setRequestHeader(HEADER_CONTENT_TYPE, contentType ? contentType : CONTENT_TYPE_JSON);
            }
            if (this.auth && this.auth.type === AUTH_TYPE_BASIC) {
                xhr.setRequestHeader(HEADER_AUTHORIZATION, "Basic " + btoa(this.auth.username + ':' + this.auth.password));
            }
            if (this.headers && typeof this.headers === 'object') {
                for (let headerName of Object.keys(this.headers)) {
                    xhr.setRequestHeader(headerName, this.headers[headerName]);
                }
            }
            if (headers && typeof headers === 'object') {
                for (let headerName of Object.keys(headers)) {
                    xhr.setRequestHeader(headerName, headers[headerName]);
                }
            }
            if (! ResLoader.isInIE()) {
                xhr.responseType = 'json';
            }
            xhr.onreadystatechange = (event) => {
                let request = event.target;
                if (request.readyState === XMLHttpRequest.DONE) {
                    if (request.status === 200) {
                        resolve(request);
                    } else {
                        reject(request);
                    }
                }
            };
            if (body) {
                xhr.send(body);
            } else {
                xhr.send();
            }
        });
    }
 
}

библиотеки могут быть удобными, но обычно они имеют особенности и добавляют их в процессы, ну типа неспособности fetch’a ловить ошибки

Syncro ★★★★★
()
Последнее исправление: Syncro (всего исправлений: 1)

Ты даже не представляешь, сколько говна ты пожрешь с любым из указанных в этом треде фреймворков, особенно с некстом.

Фронт окончательно скатился в мусорку из-за засилия фреймворков, анскильных разработчиков и анскильных разработчиков, делающих фреймворки и плагины к ним. Пока не поздно, беги! Иди в бэк (не ноду!!!), тест, управление проектами или людьми, в магазин, или открой лавку с шаурмой на крайний случай.

filosofia
()