Код: Выделить всё
script.js
/agents/handler.php
/agents/transmitter.php
< /code>
script.js опубликует xmlhttprequest the handler.php, а затем Script.js немедленно откроет соединение с передатчиком.function postToHandler(){
let xhr = new XMLHttpRequest();
xhr.open("POST", "./agents/handler.php");
let form = new FormData();
form.append('listen', "mockData");
xhr.send(form);
//Connecting to transmitter
eventSrc = new EventSource("./agents/transmitter.php");
eventSrc.addEventListener("ping", displayData);
}
< /code>
и вот мой handler.php < /p>
include "./transmitter.php";
if (!empty($_POST['listen'])) {
for($x=0; $x
и вот мой передатчик.header("Content-Type: text/event-stream");
header("Cache-Control: no-cache");
ob_end_flush();
function transmitVal($param){
echo "event: ping\n";
echo "data: ".$param."\n\n";
}
< /code>
Так что я пытаюсь сделать, это вызвать функцию передатчика из моего файла обработчика. И мы надеемся, что этот передатчик повторит эти утверждения для соединения, которое было открыто Script.js Однако, когда я пробую это, это, похоже, не работает. My Script.js не получает никаких данных от передатчика. Каждый учебник в Интернете делает это, но я не могу понять, почему.
Если я называю функцию передатчика изнутри моего обработчика ...... почему требуется цикл?
Подробнее здесь: https://stackoverflow.com/questions/795 ... rce-in-php
Мобильная версия