Мне нужна функция на php, которую можно вызывать и при загрузке страницы, и в том числе в фоновом режиме, которая заполняла бы поля на странице.Странице чего? Вашего сайта или чужого? И что значит "в фоновом режиме"?
Щелчок на кнопке - вызов php-функции - заполнение полей на странице без перезагрузки.Аякс. опять же, зависит от того чей сервер. Естественно на фронте код будет на яваскрипте, так что чистым пхп не обойдешься.
Возможно ли такое? (Пока на WordPress) Спасибо.Возможно, но есть условия. Часть из них перечислил выше, остальные зависят от ваших умений.
и при загрузке страницы мне сразу выводится "4"Логично, так как пост пустой, а не нулл, а в остальных случаях срабатывают проверки на метод пост(вызванные через гет) и непустые пост поля, которые как бы пустые при методе гет.
но скрипт php как будто работает один раз при загрузке страницы и все,Скрипт пхп ВСЕГДА работает 1 раз. При каждом обращении вы создаете запрос, скрипт его отрабатывает и умирает.
как сделать чтобы при отправке данных скрипт php отслеживал это ?Так он отслеживает, просто вы с этим отслеживанием ничего не делаете. Посмотрите ответ сервера в запросе к message.php, ну и сделайте в js обработку ответа фетч запроса какую-то... То что метод называется буквально "взять" вас не на какие мысли не наталкивает? ))
-window.addEventListener('DOMContentLoaded', () => {
+document.addEventListener('DOMContentLoaded', () => {
Если у кого-то есть на примете рабочий вариант, поделитесь.В чем собсно проблема? Международный код делаете дропдауном, а сам телефон при вставке чистите от "не цифр" и считаете сколько должно быть с учетом общей стандартной длины номера. Как вариант можно первые цифры проверять на совпадение с кодами стран и автоматом выставлять нужный регион.
JSON.parse(JSON.stringify(data));
? И ниже консоль лог этого извращения... Сначала нужно проверять что пришло все нормально, а потом пытаться портить то что работает, по этому консолить имеет смысл data, и только потом уже что-то по необходимости... На сервере пытаюсь принять так:Нет, ищите в $_POST
header: 'Content-Type: application/json',
а это лишнее.$.ajax({
contentType: 'application/json',
dataType: 'json',
data: JSON.stringify({ some valid JSON})
...
при нажатии на ячейку таблицы, ничего не происходит. Почему???Ну так код ниачем, набор странных действий без цели и смысла.
function(index, value_params)
зачем, если дальше они никак не используются?var item = $('<td>')
пишется не так, и зачем это в цикле не понятноitem.click(function()...
это так себе конструкция, и опять же, зачем в цикле? Мне нужно чтоб переход на другую страницу остановился чтоб я мог в консоле проверить данные и другую информацию, как мне это реализовать?Открываешь конслоь, ставишь в настройках (шестеренка справа) галочку напротив preserve log. Смотришь что там тебе нужно, в том числе код скрипта который осуществляет переход.
$(document).on('click', function(e) {
if (!$(e.target).closest(".filter").length) {
let filterNum = $(e.target).data('num');
$('.filter-block' + filterNum).hide();
}
e.stopPropagation();
});
Вопросы такие: какие есть способы ускорить загрузку страницы?Во первых - выяснить что тормозит: бэкенд или фронтенд. Сделать профайлинг бэкенда, сделать анализ загрузки фронта. Соответственно сначала понять что тормозит.
Можно ли её рендерить на клиенте при помощи js?Можно, но скорее всего прироста вы особо не получите. Если проблема на бэкенде - метод рендера будет абсолютно по барабану. Если на форнте - скорее всего будет медленнее, так как вы сначала получите все данные, а потом еще будете средствами языка (а не движка браузера, который очевидно быстрее) отрисовывать хтмл.
И почему на смартфоне в мобильном safari та же самая страница грузится за пару секунд?Опять же, вопрос скорее к вам чем к кому-либо еще. Возможно кеширование, которое на мобильных браузерах практически всегда более агрессивное. Возможно вы просто не видите как тормозит загрузка, например в силу другого метода рендеринга, который сразу при получении данных выводит все что возможно, в то время как на стационаре рендеринг идет только после загрузки тега целиком. Достаточно например быстро промотать на сафари вниз при загрузке, чтобы увидеть что загрузилось далеко не все... А возможно в мобильной версии отображается сильно меньше элементов...
Можно ли этот эффект повторить на десктопе?Если есть что повторять... Можно попробовать сделать таблицу не цельной, а разбить на несколько таблиц, по 100-300 строк. Или еще адкеватнее - сверстать дивами.
я тоже склоняюсь к неэффективной вёрстке. Если я эту вёрстку буду генерировать js’ом, процесс ускорится?Скорее всего, как я уже написал, скорости не прибавится. Вообще что мешает проверить эффективность верстки? Тупо выведите все строки дивами, без всяких разделителей, одна строка - один див с данными, разделенными "|" например, и посмотрите на разницу.