Ответы пользователя по тегу AJAX
  • Как сделать анимацию смены картинки в шапке при скролле?

    ThunderCat
    @ThunderCat Куратор тега CSS
    {PHP, MySql, HTML, JS, CSS} developer
    Логотип прописываете как бэкграунд элемента, у элемента меняете класс (так же как у навбар), класс задает нужные картинки.
    Ответ написан
    Комментировать
  • Как разделить верстку html и бизнес-логику php?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    На бэке шаблоны + любой фреймворк/самопис, способный выдавать что-то типа rest api.
    На фронте соответственно шаблоны инициализируют что-то типа react/vue, которое уже стучится в апи, получает данные, рисует новое состояние.
    Ответ написан
    Комментировать
  • На какой технологии или плагине работает подгрузка блока контента на сайте?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    Подскажите примеры плагинов
    Для чего плагины то? Для фотошопа?

    - при нажатии на ссылку категории, в меню слева, сначала подставляется ссылка в адресную строку, а потом подгружается блок с контентом и бок с меню слева. Верхний и нижние блоки не перезагружаются.
    Это называется SPA, так же работает например вк, фликер и еще куча сайтов.

    Есть задача ускорить загрузку страницы, разделив страницу на блоки, который будут подгружаться в определённой последовательности.
    Это не всегда ведет к увеличению скорости загрузки, и бОльшая часть таких сайтов имеет иные цели и более веские причины для этого, то есть это не сильвер буллет, а осознанный выбор под определенную задачу, где скорость отрисовки не самый важный показатель. Возможно в вашем случае достаточно будет подключить лэзи лоад, и оптимизировать другие параметры загрузки, вместо не совсем подходящего вам функционала (например, вполне понятно что текст хтмл содержимого занимает в байтах в стони раз меньше чем изображения, и логично что легче и эффективнее откладывать только загрузку картинок, а не кусков хтмля).
    Ответ написан
    Комментировать
  • Актуальны ли технологии AJAX и JQUERY при нынешних веб реалиях?

    ThunderCat
    @ThunderCat Куратор тега JavaScript
    {PHP, MySql, HTML, JS, CSS} developer
    jquery - такой себе жс для ленивых, много длинных функций объединенных в удобные обертки, естественно найдется как много сторонников jquery (например есть куча готовых жс скриптов использующих как движок jquery), так и много поборников "чистого арийского" кода (только ванилла, только хардкор!). На самом деле все зависит от задачи, уровня владения и философии разработчика. Как таковая библиотека не особо устарела и много где используется, использовать ли ее лично вам - вопрос вкуса и убеждений. Подробнее обсуждалось тут.

    что касается AJAX - скорее всего вы не совсем понимаете в чем суть, так как это не какая-то библиотека или фреймворк, а метод взаимодействия между клиентом и сервером, по протоколу http(s), позволяющий отправлять запросы без необходимости перезагружать страницу, но из контекста страницы (читать про XMLHttpRequest), и является неотъемлемой частью веб апи и устареет еще очень не скоро. Как некая альтернатива ему может выступать сокет соединение, но обычно области применения этих технологий разные, как и задачи, которые они выполняют.
    Ответ написан
    9 комментариев
  • Почему Jquery toggle не работает после ajax?

    ThunderCat
    @ThunderCat Куратор тега JavaScript
    {PHP, MySql, HTML, JS, CSS} developer
    1) замените айди на класс, так как с айдишниками при создании и удалении элементов у вас будет лажа с дублями айди.
    2) $(document).on('click', '.play', function() {... должно работать нормально.

    3) в коде переключения перезаморочено с ифами
    Ответ написан
    4 комментария
  • Почему не передаётся значение в php из ajax запроса?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    Так как вы не передаете заголовок с контент типом, пхп не понимает что это пост, и ловить надо поток инпута.
    var_dump(json_decode(file_get_contents('php://input', true)));
    Ответ написан
  • Почему не происходит отправка данных?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    слишком много ошибок и левого кода в жс, кроме того на бэкенде масса фигни и код тоже хреновый.
    зачем делать стриптагс, если уже сделал урленкоде? Все возможные теги уже поломаны. да и еще дохрена всего...
    И отладка... учитесь проверять работу кода, console.log(), var_dump() как базовые инструменты, проверяйте консоль браузера и нетворк, что уходит, что возвращается...

    Указывать путь до исполняемого скрипта надо от корня сайта - не ../auth.php, а /scripts/auth.php, если файл лежит в папке scripts, которая в корневой директории.

    Короче:
    $(function() {
      $("#phrase").on('blur', function() {
        $.post("../auth.php", $(".form-horizontal").serialize(), function(data){alert (data);}
        );
      });
    )}
    Ответ написан
    Комментировать
  • Как обрабатывать ошибки в РНР, в частности WebSocket соединения?

    ThunderCat
    @ThunderCat Куратор тега JavaScript
    {PHP, MySql, HTML, JS, CSS} developer
    Возможно ли передать вместе с ошибкой (в виде элемента массива) и свой код/описание ошибки ?
    Конечно, для этого обычно используются исключения. Не везде, но во многих случаях они нормально работают. Другое дело что есть 2 нюанса:
    1) При ошибке вебсокет сервера никакую ошибку от собственно сервера вы не получите (он вам просто не ответил), но вы в любом случае получите статус ошибки, который не обязательно отдавать пользователю, а ориентируясь на номер ошибки отдать свое сообщение.
    2)
    но я хотел бы реализовать логирование ошибок
    Надеюсь вы понимаете что с клиентской стороны что-либо делать по этому поводу невозможно, а со стороны сервера и так есть лог ошибок, если это не ошибки логики, которые не ошибки системы, а скорее неверное поведение (типа "поле не заполнено" или "недопустимые символы"). Такие тоже можно логировать, но во первых - а смысл?, а во вторых все равно это реализовывать средствами пыха. И ошибок типа "сервер не доступен" конечно там не будет.

    2 Возможно ли как-то заставить Ajax не реагировать на ошибку и обрабатывать ветвь ": function (response) " ?
    да, точнее надо просто не обрабатывать результат в success. Смотри ниже.

    3 Имеется ли другой объединяющий обе ветви "success + error" параметр на выходе в котором я бы разместил анализ ответа ?
    complete
    Ответ написан
    Комментировать
  • Как добавить GET запрос в URL при запросе AJAX?

    ThunderCat
    @ThunderCat Куратор тега JavaScript
    {PHP, MySql, HTML, JS, CSS} developer
    что бы при нажатии еще добавлялся get параметр но не знаю как это сделать ведь запрос идет без перезагрузки страницы.
    History.pushState()
    Ответ написан
    Комментировать
  • В чем я допустил ошибку в json?

    ThunderCat
    @ThunderCat Куратор тега JavaScript
    {PHP, MySql, HTML, JS, CSS} developer
    Открывайте инструменты разработчика, нетворк, и смотрите что возвращает ваш аяксовый запрос, скорее всего там у вас какой-то варнинг вылазит, или еррор.

    Кроме того, парсить строку совершенно не обязательно, достаточно в аяксе указать тип возвращаемого значения.
    Ответ написан
    Комментировать
  • Как правильно сделать динамическую подгрузку контента с помощью ajax?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    В малых проектах такой подход приемлем, в крупных и нагруженных это будет неоправданно из-за большого количества мусорных запросов на сервер, и в таких случаях используют сокет. Если задача чисто "поиграться" - решение через сетИнтервал норм.

    В целом все немного сложнее, там на сервер обычно отсылается время последнего обновленного сообщения, в ответ присылают все новые записи, которые добавляются в конец окна чата.
    Ответ написан
    Комментировать
  • Iframe как альтернатива ajax и отправка POST запросов?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer

    С точки зрения практичности и безопасности данный способ оправдывает себя?
    С точки зрения практичности - нет, так как это полная шляпа, мы такое писали в 2005, когда аякс как явление еще не существовал, а уже в 2012 появился нормальный XMLHttpRequest здорового человека, на который все быстренько переползли.

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

    Задавшись вопросом безопасности отправки запросов через ajax
    Если возникают вопросы безопасности при отправке данных через пост - значит вы что-то не то передаете...
    Ответ написан
    Комментировать
  • Почему функция confirm($txt) возвращает старый(прошлый) текст файла?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    ...
    var confirm = confirm(txt);// здесь получаем тру или фалс, ок...
    ...
    data: "confirm=" + encodeURIComponent(confirm) //здесь его енкодим и отправляем на сервер зачем-то...
    ...
    return filter_var(file_get_contents('text.txt'), FILTER_VALIDATE_BOOLEAN);//читаем файл, получаем из него значение...

    При выполнении функции вы выводите в браузер яваскрипт, и тут же запрашиваете содержимое файла. Так как вывод в браузер и выполнение функции жс в браузере происходят с серьезной задержкой, естественно вы получите "старое" значение, причем новое скорее всего будет содержать какой-то бред по типу 'true'/'false' строкой, судя по коду.
    Ответ написан
    Комментировать
  • Почему скрипт php не завершает свою работу после ухода пользователя?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    Неужели выполнение скрипта php не прерывается, когда пользователь уходит со страницы?
    А с чего бы ему прерываться? По сути это 2 абсолютно не связанных действия - переход на страницу и выполнение скрипта. Точнее первое инициализирует второе, а после уже никак на происходящее на сервере не влияет.
    Ответ написан
    Комментировать
  • Как реализовать счётчик на сайте?

    ThunderCat
    @ThunderCat Куратор тега JavaScript
    {PHP, MySql, HTML, JS, CSS} developer
    Строго говоря одинаково быть не может, так как есть пинг, задержки сервера, тормоза клиента/провайдера и много еще чего, включая теорию относительности.

    А так - сетИнтервал для одинаковых значений вполне достаточно, хотя из вопроса не совсем ясно что вы пытаетесь сделать...
    Ответ написан
  • Как заставить события выполняться больше 1 раза, если я с помощью AJAX'а перезаписал содержимое элемента?

    ThunderCat
    @ThunderCat Куратор тега JavaScript
    {PHP, MySql, HTML, JS, CSS} developer
    я перезаписываю данные элемента новыми данными
    Здесь ваш элемент с евент листенером умер, родился другой. Такой же по сути, но листенера на нем нет.

    Без jQuery это возможно вообще?
    Да, просто евент вешается на парент элемент, который при фетче не будет подменяться. Ну и по эвенту внутри него уже отслеживается был ли в таргете элемент с нужным классом.
    Ответ написан
    Комментировать
  • Как отправить картинку в обработчик ajax jquery?

    ThunderCat
    @ThunderCat Куратор тега JavaScript
    {PHP, MySql, HTML, JS, CSS} developer
    для начала - обернуть поля в тег формы, хотя это не обязательно, но так удобнее работать с данными.
    Далее в гугл "загрузка файлов ajax"/"send files ajax" .
    Ответ написан
    Комментировать
  • Почему не срабатывает AJAX-запрос?

    ThunderCat
    @ThunderCat
    {PHP, MySql, HTML, JS, CSS} developer
    data: {GetIPS_user: 'yes'},
    Вообще нигде не используется(?)
    function GetIPS_user() {...} - ок, вы ее создали, что дальше? Вы же ее нигде не используете. Или вы как-то странно понимаете суть аякс запросов вообще...

    смотрите консоль, раздел network, во время отправки
    - смотрите что отправляет ваш запрос в теле запроса
    - смотрите что вернул сервер
    но все это при условии что на сервере что-то работать будет
    Ответ написан
  • Почему при ajax запросе сервер выдает (failed) net::ERR_CONNECTION_CLOSED?

    ThunderCat
    @ThunderCat
    {PHP, MySql, HTML, JS, CSS} developer
    Обычно это означает что сервер не дает ответа вообще, ну или прерывает соединение из-за битых заголовков, соответственно первым делом пробуем выключить все кроме собственно запроса, потом проверить есть ли вообще и отзывается ли соответствующий роут... ну и проверить есть ли вообще что то в
    "X-CSRF-TOKEN": $('meta[name="csrf-token"]').attr("content")
    Ответ написан
    Комментировать
  • Проблема в GET запросе с использованием ajax/history api.?

    ThunderCat
    @ThunderCat
    {PHP, MySql, HTML, JS, CSS} developer
    1) Код в студию, для этого есть специальные кнопочки в оформлении вопроса/ответа
    2) Не вижу там никакого get действия вообще, только post
    2) Подробности не помешают, что нажимали, что консоль пишет, что возвращается...
    Ответ написан