LINUX.ORG.RU

А подскажите пожалуйста

 , , ,


0

2

Может это больше для толксов, я хз.

А как реализуются все эти штуки в реальном времени (к примеру, проверка записи в базе данных без обновления страницы, это используется в тех же регистрационных формах, ну или как в CMS проверка расширений у пыха, еще всякое, пока полоска прогресса заполняется)? Где можно почитать о таком? С помощью чего такое делается? Где можно посмотреть примеры?

Я говорю про HTML+JS+PHP.

Это ajax. Суть в том, что из js кидается запрос на сервер, ну а дальше дело техники.

Где можно посмотреть примеры?

Что используешь, там в доках и смотри.

no-such-file ★★★★★
()

как уже сказали, это ajax - http запросы из js. для этого используй jQuery методы: .ajax, .get, .post.

будет непонятно - спрашивай

bvn13 ★★★★★
()

Ну с пхп по-нормальному точно никак, ведь это просто архаичный сервер-сайд шаблонизатор хтмл.

nikolnik ★★★
()
Ответ на: комментарий от th3m3

vanilla js - перешел в прошлый век, когда создали jQuery. а до

Vue/React/Angular

ТС еще не добрался, рано советуешь

bvn13 ★★★★★
()
Ответ на: комментарий от bvn13

vanilla js - перешел в прошлый век, когда создали jQuery

Хорошая шутка. А ничего, что jquery использовали лет 10 назад для браузерной совместимости? Сейчас браузеры уже нормально поддерживают современны js, а которые плохо поддерживают - вымерли(прощай IE). С приходом ES5/ES6/ES7+, все эти костыли(jQuery) стали ненужны.

ТС еще не добрался, рано советуешь

Лол. Т.е. по твоему, ему лучше освоить устаревший костыль в виде jQuery, а потом перебираться на нормальные фрамеворки? Не лучше ли нормально освоить ванильку, а потом брать нормальный фрамеворк? Чем тратить время на jQuery, который неактуален уже несколько лет.

th3m3 ★★★★★
()
Последнее исправление: th3m3 (всего исправлений: 1)
Ответ на: комментарий от th3m3

лол, как ты в своих новомодных

ES5/ES6/ES7+

делаешь ajax запросы? не через vanilla js ли? а мне удобней писать

function makePOST(url, params, pMethod) {
    var csrfToken = $("meta[name='_csrf']").attr("content");
    var csrfHeader = $("meta[name='_csrf_header']").attr("content");
    var method = pMethod || 'POST';
    return Q($.ajax({
        beforeSend: function(xhrObj){
            if (csrfHeader && csrfToken) {
                xhrObj.setRequestHeader(csrfHeader, csrfToken);
            }
            xhrObj.setRequestHeader("Content-Type","application/json");
            xhrObj.setRequestHeader("Accept","application/json");
        },
        method: method,
        url: server + url,
        data: JSON.stringify(params),
        dataType: "json"
    })).then(resp => {
        return Q.resolve(resp);
    }).catch(error => {
        window.localStorage.removeItem('user');
        if (error.status == 401 || error.status == 403) {
            history.push('#/login');
        }
        return Q.reject(error);
    });
}

даже в проекте на ReactJS!

bvn13 ★★★★★
()
Последнее исправление: bvn13 (всего исправлений: 1)
Ответ на: комментарий от deep-purple

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

bvn13 ★★★★★
()
Ответ на: комментарий от bvn13

Не, это я у тебя спрашиваю как ты рендеришь. Что значит рендеришь — получил страницу, проинитился, огляделся, закешировал глобальные элементы (твои мета цсрф и подозреваю не только, ну тот же титл) и юзай переменные, а не селекторы на каждый чих. Вот примерно так вуежс делает — кеширует и наблюдает за изменением.

Твое «легче доставать» смахивает на костыль при нехватке времени или в более худшем случае — не желании подумать. На кой ф-ции запроса знать про какие-то там селекторы метатегов? Она только запрос должна делать.

С формами иначе и тупорылее — при отправке всеравно сериализовать надо. А если ты спец формы лепил в которых цсрф только хранил, но не отправлял, то опять костыль.

deep-purple ★★★★★
()
Ответ на: комментарий от deep-purple

Твое «легче доставать» смахивает на костыль при нехватке времени или в более худшем случае — не желании подумать.

не желании подумать

this. не дошел до оптимизации, надо было быстро сделать. работает же.

bvn13 ★★★★★
()
Ответ на: комментарий от bvn13

Ну если у тебя в разных проектах одни и те же куски вставляются, ну лишний час можно потратить — самому удобнее же будет.

deep-purple ★★★★★
()
Ответ на: комментарий от bvn13

Короче — скрипты на странице должны быть как единое целое, как минимум — конечный автомат, как дополнительно — возможность сохранять состояние после F5 (сторадж, куки), а не как брызги дрисни.

deep-purple ★★★★★
()
Ответ на: комментарий от th3m3

Как проходящий путь новичок, скажу, что ванильный JS + Vue/React параллельно - самое то. В сторону jQuery я даже смотреть не собираюсь.

roiman
()
Ответ на: комментарий от bvn13

jquery тяжел для ajax-only работы.
Выгоднее взять какой-нибудь axios:

axios.get('/user', {
    params: {
      ID: 12345
    }
  })
  .then(function (response) {
    console.log(response);
  })
  .catch(function (error) {
    console.log(error);
  });

blackst0ne ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.