Задать вопрос
  • Как создать хорошее портфолио на позицию верстальщика?

    jamesgoodwin
    @jamesgoodwin
    Молодой разработчик
    Иногда достаточно и одной работы. Главное, чтобы было чем гордиться.

    Я бы советовал обратиться к вакансиям и пунктам того, что для них требуется(на площадках поиска работы). Обычно в них описываются все необходимые технологии и навыки. Возьмите две-три полноценно описанные вакансии и посмотрите чего вам не хватает. Если все хорошо - только вперед! Не бойтесь ошибаться, ошибаются все. Это исправимо.
    Ответ написан
    Комментировать
  • Как правильно составлять ajax запрос?

    delphinpro
    @delphinpro Куратор тега JavaScript
    frontend developer
    В любом случае на сервере должен быть обработчик вашей формы. Чаще всего это php, ввиду его широкой распространенности.

    Валидацию формы можно (и нужно!) делать на клиенте. И лишь дублировать ее на сервере. Для валидации очень хорош плагин www.formvalidator.net
    Подключаете и настраиваете плагин. Он не даст вам отправить форму с ошибками. И когда все поля заполнены правильно вы уже можете аяксом отправить свою форму на сервер.
    Так можно отправить любую форму, кроме enctype=multipart/formdata
    $('[data-toggle="ajax"]').on('submit', function (e) {
            e.preventDefault();
            var $form    = $(this);
            var data     = $form.serialize();
            var action   = $form.attr('action');
            var method   = $form.attr('method');
    
            $.ajax({
                url     : action,
                type    : method,
                data    : data,
                dataType: 'html' // или 'json' смотря какой ответ будете возвращать
            }).then(function (data) {
                console.log('Форма отправлена', data);
            }).fail(function () {
                console.log('Ошибка отправки');
            });
        });


    Поясняю.
    К формам, которые желаем отправлять аяксом, мы приписываем атрибут data-toggle="ajax".
    Обработчик, куда будет отправляться форма, мы берем из атрибута action="" формы. Метод отправки (post/get) также берем из формы. Это дает определенную гибкость в использовании кода, когда значения не захардкоржены в скрипте. Если форма отправилась, то в методе then мы получим то, что вернет нам обработчик на сервере. Для большей гибкости предпочтительно использовать dataType: 'json'. Тогда вы сможете отправить с сервера объект с подробным статусом ответа, например результаты валидации каждого поля.
    Если форма не отправилась сработает метод fail() Например, сервер вернул ответ не равный 200 или данные не соответствующие запрошенному типу (вы просили json, а пришел html).

    C отправкой файлов чуть сложнее, но вы сначала с этим разберитесь.
    Ответ написан
    1 комментарий