• Как реализовать скачивание файла через AJAX?

    sokollondon
    @sokollondon
    Как скачать файл после получения его по ajax
    Удобно когда файл долго создаётся и нужно показать preloader

    Пример при отправке веб-формы
    $(function () {
        $('form').submit(function () {
            $('#loader').show();
            $.ajax({
                url: $(this).attr('action'),
                data: $(this).serialize(),
                dataType: 'binary',
                xhrFields: {
                    'responseType': 'blob'
                },
                success: function(data, status, xhr) {
                    $('#loader').hide();
                    // if(data.type.indexOf('text/html') != -1){//Если вместо файла получили страницу с ошибкой
                    //     var reader = new FileReader();
                    //     reader.readAsText(data);
                    //     reader.onload = function() {alert(reader.result);};
                    //     return;
                    // }
                    var link = document.createElement('a'),
                        filename = 'file.xlsx';
                    // if(xhr.getResponseHeader('Content-Disposition')){//имя файла
                    //     filename = xhr.getResponseHeader('Content-Disposition');
                    //     filename=filename.match(/filename="(.*?)"/)[1];
                    //     filename=decodeURIComponent(escape(filename));
                    // }
                    link.href = URL.createObjectURL(data);
                    link.download = filename;
                    link.click();
                }
            });
            return false;
        });
    });

    Не обязательный функционал закомментирован для упрощения примера.

    Не требуется создавать временные файлы на сервере.

    На jQuery v2.2.4 всё работает. На старой версии будет ошибка:
    Uncaught DOMException: Failed to read the 'responseText' property from 'XMLHttpRequest': The value is only accessible if the object's 'responseType' is '' or 'text' (was 'blob').

    https://stackoverflow.com/a/60185326/4831608
    Ответ написан
    1 комментарий
  • Расписание на неделю по часам, как хранить?

    Если просто бинарное свободно/занято, можно хранить целый день как 24-битную маску, одно целое число. Каждый бит означает вакантность соотв. часа.
    Ответ написан
    1 комментарий
  • Как исправить 422 ошибку Ajax и Laravel?

    alexey-m-ukolov
    @alexey-m-ukolov Куратор тега Laravel
    Данные, которые вы отправляете не проходят валидацию:
    [
        'message' => 'required|max:1000',
        'img' => 'mimes:jpeg,png,gif|max:3000',
    ]

    Поскольку данных мы не знаем, больше ничем помочь не можем. Разберитесь, что делает каждое из этих правил, что вы отправляете и поймёте в чём проблема. В ответе вам должно приходить описание ошибок с указанием полей и конкретных правил.
    Ответ написан
    Комментировать
  • Greatest и null как заставить работать?

    @galaxy
    Оберните каждый в IFNULL
    Ответ написан
    Комментировать
  • Как расположить элементы по кругу?

    Vlad_IT
    @Vlad_IT Куратор тега CSS
    Front-end разработчик
    Делайте по такому принципу.
    Ответ написан
    12 комментариев
  • Запросить один запрос или много?

    Fernus
    @Fernus
    Техник - Механик :)
    Делать на каждый день новый запрос и заносить в график

    Что это значит в Вашем случае?
    У Вас на странице только за какой-то период отображение по дням идёт? Или как?

    В любом случае из БД получать нужно только то, что Вам щас потребуется для отображения...
    Если использовать "коллекции" запихнув туда все данные из БД, то когда транзакций будет "куча"...то с каждым увеличением этой "кучи" Ваши коллекции будут всё медленнее, а CPU и RAM всё больше страдать + время выполнения увеличиваться...

    UPD:
    ...
    Ответ написан
    9 комментариев
  • Запросить один запрос или много?

    FanatPHP
    @FanatPHP
    Чебуратор тега РНР
    Три простых правила
    1. Забыть про вопросы производительности. Ничего умного все равно не придумаешь, а глупости делать тем более не нужно
    2. Не выдумывать несуществущие в природе явления как " Грузить проц. колекцией"
    3. Вместо всех этих дурацких фантазий учить SQL.

    Тогда вопросов "как получить данные для графика" вообще возникать не будет
    Ответ написан
    Комментировать
  • Как лучше сделать?

    solotony
    @solotony
    покоряю пик Балмера
    да вроде все правильно. лично мне ничего глаз не режет.
    Ответ написан
    1 комментарий
  • Как пройтись по значениям и ключам многомерного массива?

    Рекурсивная функция принимающая в качестве аргумента ссылку на массив. Модифицируем все ключи, модифицируем все конечные значения, а вложенные массивы передаём на обработку этой же функцией.
    Ответ написан
    Комментировать
  • Можно ли как то самому перепрошить геймпад, и если да, то как?

    15432
    @15432
    Системный программист ^_^
    Конечно можно. Вам понадобится разобрать геймпад, найти ПЗУ (или микроконтроллер с ПЗУ), в котором эта прошивка расположена, найти подходящий программатор, расковырять файл обновления и вытащить эту прошивку в "сыром" виде, подпаять программатор (или выпаять ПЗУ и вставить в программатор), и наконец прошить.

    Я обычно так и делаю, но почему-то люди предпочитают обратиться в магазин или к производителю по гарантии и обменять устройство на рабочее.
    Ответ написан
    Комментировать