mysql — периодические вызовы AJAX могут быть вызваны только с переполнением стека

Я создаю мобильное приложение, которое использует базу данных MySQL и PHP API. Мне нужно обновить клиентский интерфейс при обновлении базы данных MySQL. Мне сказали, что путь к этому — использование периодических запросов AJAX. После некоторого исследования похоже, что запросы AJAX связаны с jquery. Могу ли я создавать периодические AJAX-запросы, используя только код PHP?

0

Решение

AJAX на самом деле XMLHttpRequest, проще говоря, асинхронный HTTP-запрос.

JQuery может обрабатывать большую часть кода для вас, используя jquery.ajax функция.

Если вы хотите делать ajax-вызовы (или просто HTTP-запросы), используя php, вам нужно проверить PHP Cron вакансии.

Вместо использования ajax в работе cron, вы можете использовать PHP Curl выполнить HTTP-запрос, пока вы работаете на стороне сервера. Ajax-вызовы осуществляются только со стороны клиента.

Поместив части этого тогетера, вы окажетесь там, где хотите.

0

Другие решения

AJAX расшифровывается как асинхронный JavaScript и XML. Хотя это ни в коем случае не ограничивается отправкой данных XML, это делается с помощью JavaScript.

Когда ваш браузер загружает страницу, он отправляет запрос на URL-адрес, загружает содержимое этой страницы, затем следует встроенный контент (например, изображения, JS и CSS-контент) для включения на страницу. Как только весь контент ограничен, документ заканчивается, и браузер выполняет загрузку контента.

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

Для вашего конкретного вопроса, вы хотели бы посмотреть на setInterval() Функция для циклического обхода функции, которая периодически вызывает серверный скрипт (который может быть PHP), который будет возвращать обновленные данные, а затем использовать JavaScript на стороне клиента для изменения страницы на основе полученного обновленного содержимого.

0

Насколько я понимаю из вашего вопроса и комментариев, у вас есть мобильный клиент, написанный на Swift (так что я предполагаю, что это приложение для iOS?), И сервер, работающий на PHP. Как уже было сказано ранее, нет, вы не можете обновить клиент из кода PHP: вам нужно иметь какую-то связь между клиентом и сервером. Здесь есть три основных варианта:

  1. Используйте опрос. Это включает в себя время от времени отправку HTTP-запроса от вашего клиента (скажем, как каждую минуту? Или каждые две минуты?). Таким образом, ваше клиентское приложение будет постоянно запрашивать сервер, если что-то изменилось, и если оно изменилось, то оно обновит интерфейс. Недостатком может быть то, что при изменении базы данных ваш пользовательский интерфейс не будет обновляться до следующего HTTP-вызова, поэтому, если вы выполняете вызовы каждые 5 минут, вашему клиенту придется ждать не более 5 минут, чтобы обновлено. И если вы тратите меньше времени между вашими вызовами, вы будете генерировать большой трафик (что нежелательно, особенно в мобильном клиенте, который может генерировать оплату данных) и, возможно, перегружать ваш сервер бесполезными запросами.
  2. Используйте длинный опрос. Это «умный» способ опроса, который позволяет обновлять интерфейс сразу же после изменения и в то же время сокращать количество обращений к серверу. Есть много вопросов по длинному опросу по переполнению стека.
  3. Используйте push-уведомления. Это позволяет отправлять уведомления непосредственно на телефон пользователя, даже если ваше приложение не запущено. Но они требуют много безопасности и конфигурации. Есть хороший учебник по push-уведомлениям для iOS Вот.

И нет, в этом случае термин «AJAX» не применяется, поскольку AJAX относится к серверным запросам, сделанным из Javascript на веб-страницах, а не в мобильных приложениях, написанных на Swift;)

0
По вопросам рекламы ammmcru@yandex.ru
Adblock
detector