• Как передать массив методом post с помощью ajax?

    alexey-m-ukolov
    @alexey-m-ukolov Куратор тега JavaScript
    $('#tablePaySave').click(function() {
      var test = [];
      var month = 1;
      var year = $('#tablePayYear').val();
      $('.table').find(':input').each(function(i, input) {
        var cell = {};
        cell['id'] = input.id;
        cell['type'] = $(this).data('type');
        cell['value'] = input.value;
        cell['month'] = month;
        month++;
        if (month > 12) {
          month = 1;
        };
        cell['year'] = year;
        test.push(cell);
      });
    
      $.ajax({
        type: "POST",
        url: "/accounting/save",
        data: {test: test},
        dataType: "json",
        success: function(data) {
          console.log('success');
        },
        error: function(data) {
          console.log('error');
        }
      });
    });


    var cell = {};
    ...
    data: {test: test},
    Ответ написан
    1 комментарий
  • Как установить composer и как им пользоваться под windows?

    K-2
    @K-2 Автор вопроса
    Постараюсь подвести первые итоги.

    Composer можно пользоваться в 2х вариантах.
    Глобально(установив программу) и Локально(ничего не устонавливая)
    И тот и тот способы работают только из командной строки. (Пуск->Стандартные->Командная строка)
    Для того чтобы что-то скопировать в командную строку ctrl+v не работает! Пользуемся правой кнопкой мышки->вставить

    ЛОКАЛЬНО пошагово
    1. Создаем папку, в которой будет проект на компьютере.
    2. В Командной строке пишем команду cd и путь к папке с проектом:
    cd C:\xampp\htdocs\test_composer
    3. Т.к. программа не установлена, нужен загрузочный файл(мини-программа composer), для его загрузки в Командной строке пишем команду:
    php -r "readfile('https://getcomposer.org/installer');" | php
    теперь в директории появился загрузочный файл
    4. Запускаем команду загрузки фреймворка(у каждого свой), в Командной строке пишем:
    php composer.phar require silex/silex ~1.1 (для фреймворка silex)

    В Командной строке, команды запускаются по разному при локальной и глобальной загрузках:
    Локально: php composer.phar require silex/silex ~1.1
    Глобально: composer require silex/silex ~1.1
    php composer.phar меняется на composer
    Еще при локальной загрузке нужно каждый раз закачивать установочный файл(это не сложно и описано в шаге 3):php -r "readfile('https://getcomposer.org/installer');" | php
    При глобальной загрузке этот файл не нужен.

    ГЛОБАЛЬНО пошагово
    1. Скачиваем программу composer https://getcomposer.org/Composer-Setup.exe
    2. Запускаем. При запросе файла php указываем путь к локальному хостингу -> папку php
    3. Теперь делаем все тоже самое что и при локальной загрузке, но пропускаем шаг 3, и изменяем запросы из Командной строки(вместо php composer.phar пишем composer). Пример:
    было так: php composer.phar require silex/silex ~1.1
    стало так: composer require silex/silex ~1.1

    О других отличиях между глобальной и локальной загрузками пока-что тут ничего не ответили!
    Ответ написан
    1 комментарий
  • Как найти номер и количество слайдов в карусели owl carousel 2?

    @ligisayan Автор вопроса
    почти получилось вот так, единственно что при переходе с последнего слайда на первый отображает порядковый номер 8, а затем 2,3 и т.д.
    acc6bf82cb81.png
    Ответ написан
    Комментировать
  • Что за ошибки при загрузке сайта (this.root.createShadowRoot is not a function)?

    @Ovilon
    Если ещё актуально, то disk-button.min.js это скрипт Яндекс Диска, а точнее расширения Хрома, установленного у вас. Притом вываливает свою ошибку this.host.createShadowRoot is not a function даже на сайте Яндекса)))
    Ответ написан
    Комментировать
  • Как избавиться от спама formit + AjaxForm modx?

    an-tar
    @an-tar Куратор тега MODX
    Full stack web developer
    Обычно для Formit один или комбинация из нескольких вариантов:
    1.Google Recaptcha V2
    2. Math hook
    3. Spam hook (проверка по пустоте скрытого поля)
    4. Проверка по спам-базам

    Несколько полезных линков:
    Раз
    Два
    Три
    Четыре
    Также косвенно полезно отправлять почту черeз smtp, иметь MX записи на своем домене, корректно настроить SPF и DKIM заголовки сервера.
    Ответ написан
    Комментировать
  • Как отследить http запросы отправляемые приложениями (android)?

    atetc
    @atetc
    Админ Android dev-s чата: https://goo.gl/8JKF1f
    Packet Capture

    даже рут не нужен
    Ответ написан
    Комментировать
  • Как парсить json с чужого сервера?

    @remzalp
    Программер чего попало на чем попало
    Просто по запросу ссылки отдаётся html страница, в ней JS код, который проверяет наличие куки c нужным именем и IP адресом, если нету - устанавливает её и перезагружает страницу
    Фрагмент установки: setCookie('Y...6', '1.2.3.4', 10);

    Для того, чтобы выяснить минимальный набор заголовков, который надо передавать - используйте Chrome, инструменты разработчика, вкладка Network, правым кликом на запросе - "Copy as Curl (cmd)".

    Для тестирования скачать curl for windows, крутить запрошенный текст в командной строке, по одному убирая параметры -H

    Еще будет полезен ключик -k, чтобы не ругалось на сертификаты:
    curl -k "https://...." .....

    Когда удалось вполне разумно руками получать результат, пишите то же самое на PHP. PHP cURL справляется на ура.

    Соответственно вся логика - запрашивается страница с нужными заголовками, если отдали html, то проанализировать значение куки, поправить в запросе и переслать заново. Для совсем первого запроса запрашивать без куки, для следующих - сохранять.
    Ответ написан
    2 комментария
  • Расскажите подробно про php://input, как пользоваться?

    artem90
    @artem90
    TeamLead, Developer
    var_dump(file_get_contents("php://input"));
    Ответ написан
    Комментировать
  • Расскажите подробно про php://input, как пользоваться?

    php://input возвращает все необработанные данные после HTTP-заголовков запроса, независимо от типа контента.

    Данные, могут быть:
    • application/x-www-form-urlencoded ( application/x-www-form-urlencoded тип application/x-www-form-urlencoded для простых форм- application/x-www-form-urlencoded ) или
    • multipart/form-data-encoded (в основном multipart/form-data-encoded для загрузки файлов)

    Это связано с тем, что это единственные типы контента, которые должны поддерживаться браузерами. Поэтому сервер и PHP традиционно не ожидают получения какого-либо другого типа контента (что не означает, что они не могли бы).

    Если вы просто отправляете POST-ом обычную HTML-форму, запрос выглядит примерно так:
    POST /page.php HTTP/1.1
    key1=value1&key2=value2&key3=value3

    Но если вы много работаете с Ajax, может понадобиться обмен более сложными данными с типами (строка, int, bool) и структурами (массивы, объекты), поэтому в большинстве случаев JSON является лучшим выбором. Но запрос с JSON-полезной нагрузкой выглядел бы примерно так:
    POST /page.php HTTP/1.1
    {"key1":"value1","key2":"value2","key3":"value3"}

    Теперь содержимое будет application/json (или, по крайней мере, ни один из вышеперечисленных), так что $_POST -wrapper из PHP не знает, как с этим справиться (пока).

    Данные всё еще там, вы просто не можете получить к нему доступ через $_POST. Поэтому вам нужно получить его с "сыром" виде помощью file_get_contents('php://input') (если он не закодирован в формате multipart/form-data).

    Это также способ доступа к XML-данным или любому другому нестандартному типу контента.
    Ответ написан
    Комментировать
  • Почему в jQuery событие scroll не работает при body margin: 0;?

    @FRiMN
    У меня перестаёт работать при
    html, body {
        height: 100%;
    }
    Ответ написан
    1 комментарий
  • Реально на Котлин создать "нормальную" программу для Windows с "адекватным Gui?

    @oldd
    Программист, архитектор, тимлидер
    Очень реально. Котлин+TornadoFX+Exposed, как раз сейчас пишу .
    Ответ написан
    Комментировать
  • Incorrect datetime value: '0000-00-00 00:00:00'. Как исправить?

    @Vitalionus
    SET SQL_MODE='ALLOW_INVALID_DATES'
    Ответ написан
    Комментировать
  • Как правильно расставить индексы в БД?

    @Vampiro
    В общем случае, принципы построения индексов достаточно просты: индекс (кроме первичного) строится для ускорения запросов. Причем если есть WHERE по двум полям, то будет взят индекс, содержащий оба этих поля (если есть) и не важно сколько их там еще.

    Другими словами, один индекс по полям «A, B, C» будет более «полезен» для запроса, содержащего некие условия по полям A и B, чем два отдельных индекса по полям «A» и «B».

    Фактически, индексы A,B,C и A,C,D будут одинаковы в части поиска по полю «А». При поиске по полям А,B будет взят первый индекс. При поиске по полям A, C — второй.

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

    Не бойтесь добавлять слово EXPLAN в тело запроса и смотрите какие индексы он использует. Порой оптимизатор использует fullscan даже при наличии индексов.
    Ответ написан
    Комментировать
  • Что означает конструкция (function($){$(function(){ })})($)?

    GeneMoss
    @GeneMoss
    void
    $(function(){}) — это мы запускаем действие в момент загрузки страницы. А оборачиваем в анонимную функцию (function($){ })($);, чтобы избежать конфликта имен с $.

    Автор плагина предусмотрел случай, когда доллар занят под другую библиотеку/функцию/переменную. Чтобы избежать конфликта имен, достаточно будет заменить доллар на jQuery, вот так (хотя сразу так и нужно было писать):
    (function($){$(function(){
        $('select').styleThis();
    })})(jQuery);


    Т.е. передав один раз нужный параметр, нам нет нужды переписывать весь плагин.
    Ответ написан
    1 комментарий
  • Кто знает SVG редактор?

    webinar
    @webinar
    Учим yii: https://youtu.be/-WRMlGHLgRg
    inkscape.org - халявно и именно под svg
    adobe illustrator - дорого, но есть поддержка svg

    Я бы рекомендовал именно inkscape - он волшебный. Для новичка может показатся сложным и непонятным, но чем глубже понимаешь структуру и возможности svg тем больше понимаешь, что кроме inkscape нет альтернатив вообще.
    Ответ написан
    1 комментарий
  • Какие шансы устроиться программистом 1С в Москве?

    @Dementor
    программист, архитектор, аналитик
    Программисты 1С - это не американские актеры, которые со всех штатов едут в Голливуд в надежде, что их заметят и дадут работу! У нас намного больше возможностей.

    Работаете во франче? Отлично, как минимум во франч вас уже возьмут.

    Не знаю как в Москве, но в Киеве есть штатные ставки на заводах, где можно печатную форму дня два пилить, а остальное время общаться с пользователями, которые что-то не то нажали - работа "не бей лежачего", а платят как за настоящего разработчика. Верно заметил Saboteur - всегда будут те, кого вы будут поражать ваши познания не зависимо от их объема.

    Но я рекомендую обратить внимание на фриланс. Обычно постоянные клиенты франчей начинают предлагать подработку напрямую за наличку, которая меньше чем они платят франчу, но больше чем 30%, которыми франч делится с сотрудниками. Или можно брать подработки в интернете. В какой-то момент мои вечерние "шабашки" (по всему СНГ) стали приносить больше денег чем работа во франче и я полностью ушел на самозанятость. А уже на фрилансе не имеет значения - ты за Уралом, в Москве, на Бали или в открытом космосе - главное иметь стабильный интернет. Сейчас во время всеобщего карантина тема работы через интернет только сильнее развивается.
    Ответ написан
    Комментировать
  • Можно ли регистрироваться самозанятым для уплаты налогов от рекламы на сайте?

    @Mirkss
    всякое бывало)
    Можете.
    Хотя изначально для самозанятых предусматривался весьма ограниченный список видов деятельности, впоследствии понятия слегка поменялись и стало возможным почти все, включая очень неожиданные виды деятельности.

    Только учтите, что 4% - при оказании услуг физическим лицам. Если вам платит юрлицо - вы должны заплатить 6%.

    Конвертация в рубли не является операцией с ценными бумагами, но учтите, что WMZ - это валюта, и есть тонкости - например, вы должны в тот же день отправить оплатившему чек (квитанцию) с суммой в рублях (пересчитав полученное от него по текущему курсу цб). Также погуглите _официальную_ информацию, попадаете ли вы под валютный контроль при такой схеме работы.

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

    Удачи!
    Ответ написан
    Комментировать
  • На чем лучше и быстрее написать парсер (PHP)?

    muhammad_97
    @muhammad_97
    PHP-разработчик
    DiDom: https://github.com/Imangazaliev/DiDOM

    + высокая скорость работы (сравнение с другими парсерами)
    + хорошая дока
    + большое количество поддерживаемых селекторов
    + самое главное - тесты

    Простой пример:

    $document = new Document('http://www.example.com/', true);
    
    echo $document->first('title::text');


    Чуть посложнее - парсим все ссылки:

    $links = $document->find('a[href]::attr(href)');
    
    var_dump($links);


    Еще сложнее - получить адреса всех ссылок-картинок:

    $links = $document->find('a[href]:has(img)::attr(href)');
    
    var_dump($links);


    Другие варианты:
    - Symfony DomCrawler
    - Zend Dom Query
    Ответ написан
    3 комментария
  • Open Server работает очень медленно, как ускорить его работу?

    У меня на Win 10 OpenServer тоже медленно работал. Я изменил IP-адрес сервера с 127.0.0.1 на IP-адрес компьютера - страницы стали загружаться в несколько раз быстрее. В чем может быть дело?
    Ответ написан
    Комментировать