我正在处理asp.net项目中的服务器发送事件(Html5)。代码非常简单,因为它从服务器接收数据并将其显示在DIV中。 只有当我在FireFox上运行的代码始终未调用Eventsource时,Firebug才会显示2个请求或12个请求,有时只显示1个请求。 当我测试在铬上的代码,代码工作正常,我有无限的请求,因为我需要。 我的代码是:服务器发送的事件EventSource不是在Firefox中不断调用
$(function()
{
if (window.EventSource == undefined)
{
$('#targetDiv').html('Your Browser Cant support Server Side Event');
return;
}
var source = new EventSource('GetData.aspx?userid=jalal');
source.onopen = function(event){$('#targetDiv').append("Connection opened...
");};
source.onerror = function(event)
{
if (event.eventPhase == EventSource.CLOSED)
$('#targetDiv').append("Connection Closed!
");
source.addEventListener("new-message", function (event) {});
};
source.onmessage = function(event){$('#targetDiv').append(event.data + '
')};
});
后面的页面GetData.aspx.cs代码
protected void Page_Load(object sender, EventArgs e)
{
DateTime StartDate = DateTime.Now;
Response.ContentType = "text/event-stream";
Response.Expires = -1;
Response.CacheControl = "no-cache";
Response.Write("data: " + Request.QueryString["userid"] + " " + DateTime.Now.ToString() + "\n\n ");
Response.Flush();
}
谁能给我的什么是错在上面的代码的想法或为什么这只是发生在Firefox中。