Прервать процесс php для получения переменной js


Я задал этот вопрос о взломе PHP. Мне нужно остановить выполнение потока процесса php, в то время как javascript выполняет операцию получения значения переменной (код генерируется php).

Пример:

<?php

print get("prompt('put your name here');"); 

// this will generate  $.ajax( ... data: { 'return':prompt('put your name') } ... ) 


?>

Функция PHP "get" должна печатать код javascript (возвращать заголовки и содержимое), но не останавливать выполнение php. Он должен следить за результатом работы функции из браузера. (через возврат ajax).

Как я могу остановить выполнение php с ВРЕМЕННЫМ выводом и возвратом результат запроса после завершения php-кода. Или... посоветуйте мне любое решение этой проблемы.

(Мне нужно синхронно получить результат быстрого диалога)

Спасибо!

Author: xercool, 2011-07-20

1 answers

Это не так работает - вам нужно обрабатывать вывод в/из JavaScript и ответ через Ajax как два отдельных запроса в PHP.

Т.е.: Общая схема выглядит следующим образом:

  1. PHP выводит соответствующий HTML, содержащий JavaScript и т.д. На этом выполнение этого PHP-скрипта заканчивается.

  2. Клиентский JavaScript выполняет необходимую обработку и выполняет AJAX-вызов PHP-скрипта на сервере. Это может быть то же самое PHP-скрипт (вы можете включить "режим" предоставленной страницы с помощью переменной $_GET или $_POST), или это может быть совершенно другая страница PHP. Однако важно понимать, что с точки зрения PHP это совершенно другой вызов скрипта.

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

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

 5
Author: John Parker, 2011-07-19 20:58:28