Я думаю, что у вас есть небольшое недопонимание того, что такое AJAX , это не то, что заменяет ваш PHP-код, а асинхронное получение данных и обновление вашей веб-страницы без перезагрузки.
Давайте сначала взглянем на .ajax-функцию , которая особенно интересна для нас сейчас - это метод обратного вызова .done()
, потому что JavaScript выполняет запрос в реальном времени (асинхронный) JavaScript не знает, когда запрос выполнен , Но это позволяет нам указать функцию внутри .done
, которую он будет вызывать, когда это будет сделано.
Очень простой пример:
$.ajax('https://stackoverflow.com')
.done(function(data) {
// We can do what we want with the data here.
console.log(data);
});
Теперь, когда запрос будет выполнен, будет вызвана функция, которую мы определили в .done
, в данном случае простой журнал. Но вы бы хотели изменить это на функцию, которая обновляет ваш HTML.
Я также вижу, что вы вызываете функции JavaScript в вашем PHP, это не будет работать, поскольку PHP работает на вашем сервере, но JavaScript работает в вашем браузере. (Если вы не используете узел или лайки)
Просто чаевые; Рекомендуется размещать JavaScript внизу вашей HTML-страницы, так как JavaScript блокирует контент. (правильная ссылка, объясняющая необходимость здесь)
Это означает, что ваш браузер прекратит синтаксический анализ HTML и запустит JavaScript, как он его обнаружит.
Короче говоря, если вы хотите заменить код PHP, вам придется удалить его. Сделайте PHP-скрипт, который даст вам ваши данные. Позвоните в AJAX, затем используйте .done
или success
и обновите свою веб-страницу оттуда.