NetworkError: 403 Запрещено при назначении eventsourcr для полного календаря

Я делаю длинный пул с использованием php (который работает нормально) и назначаю его выходной JSON источнику событий fullcalender.

Мой код JS

var source = new EventSource(WEBROOT+'model/applongpooling.php?start=1476037800&end=1476642600');
source.addEventListener('message', function(e) {
console.log(e.data);
$('#calendar').fullCalendar( 'removeEvents');
$('#calendar').fullCalendar('addEventSource',e.data);// here i am getting error
}, false);

Мой код пула php.

<?php
header('Content-Type: text/event-stream');
header('Cache-Control: no-cache');
function SetAppointment(){
//my logic which is working fine and giving me correct result

echo 'data: ' . json_encode($res) . "\n\n";//code to get output
echo PHP_EOL;
ob_flush();
flush();
}
do {
SetAppointment();
sleep(15);

// If we didn't use a while loop, the browser would essentially do polling
// every ~3seconds. Using the while, we keep the connection open and only make
// one request.
} while(true);
?>

В консоли я получаю правильный вывод.

Консоль Выход

Я получаю ошибку,

ошибка

В другом js я также назначил источник событий для fullcalender,

eventSources: [
{
url:'model/appointments.php',
editable: true,
}
]

так что мой вопрос, где я ошибаюсь, какие-либо предложения? почему я получаю такую ​​ошибку?

0

Решение

Я не думаю, что ваше сообщение об ошибке может совпадать с вызовом EventSource (), поэтому вы используете Apache с правилами перезаписи (или что-то в этом роде)? Если это так, ошибка в этих правилах переписывания. (Я собирался спросить, что такое WEBROOT, но чем больше я об этом думаю, тем больше это не имеет значения.)

Причина: URL-адрес вашего вызова EventSource заканчивается на «model / applongpooling.php? Start = 1476037800&end = 1476642600 «. Но ваше сообщение об ошибке заканчивается на» back_color% 22:% 22? start = 1476037800&end = 1476642600 «. Т.е. все перед? было изменено.

Я ожидаю, что весь этот шум в URL является причиной ошибки 403. Например. Может быть, он пытается получить доступ к некоторому каталогу, который не существует? Но вызов rewrite также может явно выдавать 403.

0

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

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