我刚刚创建了一个SSE脚本而不是轮询,如果没有sse支持,我将使用轮询作为备份。问题是,从未使用它我无法弄清楚出了什么问题!我已经将PHP文件的javascript引用更改为具有正确的MIME类型并使用了正确的格式echo 'data: '.$num_rows.'\n\n';
var originalTitle = document.title; //for title attribute update later
if (!!window.EventSource) {
var source=new EventSource("AJAX/get_feed_updates.php?ids%5B%5D=1234567969&ts%5B%5D=2012-12-10+21%3A15%3A04");
source.onmessage=function(result)
{
if (result.data > 0){
alert (result.data);
document.title = '(' + result.data + ') ' + originalTitle;
if (result.data == 1){// no plurals
$("#refreshFeed").show().html(result.data + ' more news item.');
}
if (result.data > 1){ //plurals
$("#refreshFeed").show().html(result.data + ' more news items.');
}
}
}, false);
}
有剧本,我无法理解发生了什么。脚本是通过GET
获得的,因为它在控制台中显示但我看不到任何响应。如果我直接输入脚本url它可以工作,但不能通过js。