Как получить доступ к файлу класса php из среды PHPFox в код JavaScript, написанный в простом файле HTML?

У меня есть сайт, который разработан с использованием PHPFox v3.0.7.

Сейчас я пытаюсь внедрить SSE (Server Sent Events) в один из файлов PHP. Для справки ниже я приведу только необходимую часть кода файла. Файл называется process.class.php и присутствует на месте /var/www/module/notification/include/service/process.class.php присутствует на сервере с ip http://34.124.40.142/,

<?php
/**
* [PHPFOX_HEADER]
*/
header('Content-Type: text/event-stream');
header('Cache-Control: no-cache');

defined('PHPFOX') or exit('NO DICE!');

/**
*
*
* @copyright       [PHPFOX_COPYRIGHT]
* @author          Raymond Benc
* @package         Phpfox_Service
* @version         $Id: service.class.php 67 2009-01-20 11:32:45Z Raymond_Benc $
*/
class Notification_Service_Process extends Phpfox_Service
{
/**
* Class constructor
*/
public function __construct()
{
$this->_sTable = Phpfox::getT('notification');
}

public function add($sType, $iItemId, $iOwnerUserId, $iSenderUserId = null)
{
if ($iOwnerUserId == Phpfox::getUserId()&&$iSenderUserId==null)
{
return true;
}

if ($sPlugin = Phpfox_Plugin::get('notification.service_process_add'))
{
eval($sPlugin);
}

if (isset($bDoNotInsert) || defined('SKIP_NOTIFICATION'))
{
return true;
}

$aInsert = array(
'type_id' => $sType,
'item_id' => $iItemId,
'user_id' => $iOwnerUserId,
'owner_user_id' => ($iSenderUserId === null ? Phpfox::getUserId() : $iSenderUserId),
'time_stamp' => PHPFOX_TIME
);
$this->database()->insert($this->_sTable, $aInsert);
echo "data: The notification is generated". PHP_EOL;
echo PHP_EOL;
ob_flush();
flush();


return true;
}
}
?>

Чтобы получить доступ к этому файлу и получить из него данные о событиях (т. Е. Сообщение «Уведомление сгенерировано»), я написал следующий простой HTML-файл с источником в виде process.class.php:

index.html

<!DOCTYPE html>
<html>
<body>
<h1>Getting server updates</h1>
<div id="result"></div>

<script>
if(typeof(EventSource) !== "undefined") {
var source = new EventSource("http://34.124.40.142/module/notification/include/service/process.class.php");

source.onmessage = function(event) {
alert(event.data);
document.getElementById("result").innerHTML += event.data + "<br>";
};
} else {
document.getElementById("result").innerHTML = "Sorry, your browser does not support server-sent events...";
}
</script>

</body>
</html>

Но когда я запускаю этот файл в браузере, я получаю следующую ошибку в консоли Firebug:
Firefox не может установить соединение с сервером на http://34.124.40.142/module/notification/include/service/process.class.php.

Теперь кто-нибудь, пожалуйста, помогите мне, рассказав, как я могу сделать этот файл доступным в коде JavaScript, написанном на HTML?

Благодарю.

0

Решение

Задача ещё не решена.

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

Других решений пока нет …

По вопросам рекламы [email protected]