Server-Sent
事件 - 单向消息传递Server-Sent 事件指的是网页自动获取来自
服务器的更新。以前也可能做到这一点,前提是网页不得不询问是否有可用的更新。通过服务器发送事件,更新能够自动到达。例子:Facebook/Twitter 更新、估价更新、新的博文、赛事结果等。浏览器支持所有主流浏览器均支持服务器发送事件,除了 Internet Explorer。接收Server-Sent 事件通知EventSource 对象用于接收服务器发送事件通知:实例var source=new EventSource("demo_sse.php")source.onmessage=function(event) { document.getElementById("result").innerHTML+=event.data + "<br />"}例子解释:创建一个新的 EventSource 对象,然后规定发送更新的页面的 URL(本例中是 "demo_sse.php")每接收到一次更新,就会发生 onmessage 事件当onmessage 事件发生时,把已接收的
数据推入 id 为 "result" 的元素中检测Server-Sent 事件支持在上面的 TIY 实例中,我们编写了一段额外的代码来检测服务器发送事件的浏览器支持情况:if(typeof(EventSource)!=="undefined") { // Yes! Server-sent events support! // Some code..... } else { // Sorry! No server-sent events support.. } 服务器端代码实例为了让上面的例子可以运行,您还需要能够发送数据更新的服务器(比如 PHP 和 ASP)。服务器端事件流的语法是非常简单的。把 "Content-Type" 报头设置为 "text/event-stream"。现在,您可以开始发送事件流了。html与服务器的交互常见有以下几种,这里以wamp服务器为准,php后端语言为例
1、使用form表单,form表单通常用于采集用户输入,再传输给php脚本,进行操作。form表单的特点是必须由用户点击提交按钮,才可以被服务器接收。注意form最重要的两个属性:action,method。
2、使用ajax对象,与服务器建立交互。与form的不同在于,ajax是向服务器发送某些请求,ajax的使用大致概括为以下四点。
创建xml请求对象
建立事件模型(xml.onreadystatechange=function())
设置(open)
发送(send)
ajax的特点是无需用户确认,就会自动执行(如果你将发送这一事件封装起来,也可以做到特定条件触发)
使用ajax最应注意的是,在open时设置的第三个参数,true,即异步操作,这意味所有依赖于请求数据的操作都应放在 onreadystatechange=function() 里,否则在数据请求未完成时去执行相关操作会造成错误
3、使用cookie
cookie作为存储在用户计算机中的小型文本,可以用来存储少量数据。而php中提供了超级全局数组$_COOKIE['demo']用于访问cookiie,但这仅适用少量的数据交互
评论列表(0条)