2011-01-13 4 views
1

Возможно ли, чтобы сценарий php-скрипта в определенной точке ожидал ответа ajax, а затем продолжить выполнение?Постоянное соединение php?

Если нет, то что является наиболее подходящим способом хранения текущего состояния скрипта (все определенные переменные ect) до его повторного вызова?

+2

A * PHP * скрипт для ожидания ответа Ajax * Я не понимаю. –

+0

Я думаю, что он означает, что, пока его страница распечатывается, он хочет, чтобы страница сделала вызов ajax, но не продолжала печатать до тех пор, пока ответ не был получен ... что-то вроде этого в любом случае. – dqhendricks

+3

@haliwood Вам необходимо изучить, как работают HTTP-запросы, и получить четкое представление о том, что происходит на клиенте, и что происходит на сервере. После этого вам будет намного легче. – profitphp

ответ

1

Заставить его ждать ответа ajax, который никогда не может произойти, звучит как очень плохой план (кроме невозможности из-за характера HTTP как протокола без состояния).

Что не так с использованием session для сохранения пользовательских данных (вы можете хранить объекты в сеансе)? Он не будет сериализовать целиком.

+0

он переделал вопрос. – dqhendricks

+0

Невозможно «заставить его подождать». После его отправки клиенту (где происходит «ajax»), php обрабатывается (исключается буферизация) и не может вводить новый вход. – profitphp

+0

@profitphp: Да, я немного добавлю, чтобы уточнить ... – ChristopheD

0

Не так, как работает php, или ajax. Каждый запрос является независимым. Вы можете использовать сеанс.

0

Я думаю, что вы ищете Comet link text - который является формой обратной Аякса, который держит соединение открытым на неопределенное время - хотя я не думаю, что вы есть PHP скрипт просто ждать его ...

+0

Опять же, этого не происходит, когда PHP работает, а комета httpxmlrequest из javascript просто никогда не закрывает соединение, а не обновляет его постоянно, а это означает, что настройки браузера, прокси и т. Д. Не нравятся соединениям, которые никогда не закрываются. Несмотря на это, комета не является чем-то, где php может ждать, когда что-то случится на клиенте после уже сделанного вывода. – profitphp

+0

true - но вопрос в том, должен ли сценарий «ждать» посередине, или если сервер может быть написан так, чтобы отвечать на запрос кометы, поскольку нет способа делать то, что просит ОП , Я просто предлагаю метод приблизиться к нему. – HorusKol

0

Если вы хотите получить ответ на свой php-скрипт, который вы обычно получите через ajax, тогда просто используйте функции curl. Curl будет ждать ответа.

Смежные вопросы