PHP и AJAX, отправляющие новую информацию PHP на страницу для получения AJAX, возможно ли это? - PullRequest
0 голосов
/ 06 августа 2010

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

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

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

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

Спасибо за любой совет

1 Ответ

1 голос
/ 06 августа 2010

Нет, фоновый сценарий не может повлиять на клиентский интерфейс, поскольку он не имеет к нему никакого отношения.

Запуск фонового сценария, когда сценарий записывает данные о состоянии в общее пространство - будь тобаза данных, или memcache, или аналогичное решение, и опрос статуса через Ajax обычно действительно лучший путь.

Одной из альтернатив может быть Comet .Это метод, при котором соединение сохраняется открытым в течение длительного времени и активно обновляется со стороны сервера (вместо частых опросов Ajax на стороне клиента).У меня нет практического опыта в этом, но я думаю, что, скорее всего, для настройки в PHP требуется настройка на стороне сервера - это не лучшая платформа для долгосрочной работы.См. этот вопрос для некоторых подходов.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...