你可以传送数据给你的服务器用饼干,但没有实施利用他们将受到严重限制。 饼干,有一个最大规模的4k的主要因素,并在每个领域可以设定只有20人,这意味着每个请求将会大小的限制。 曲奇基于ajax技术是最有用的,当你的网站是设计给它,因为它的局限性,也很难用它作为后备。 基本功能是提供了通过设置一个cookie ,装载一个图像,然后在投票站对一个区间,而在等待的反应出现。 实施简单;做点事,同时提醒经营的内容,结果,你刚刚成立你自己的定制oncomplete事件处理器。 一个例子,如果服务器返回的投入和耗费的大量时间被称为是表现在以下2条上市。 榜样的javascript是表现在上市1和php代码,其内容的cookie ,然后再套回应,表现在上市2 。
上市1 -曲奇供电阿贾克斯
| 一日<html> 二<head> 三<title>曲奇测试< /标题> 四 五<script type="text/javascript"> 六功能cookierequest ( ) ( ) 七cookierequest.prototype = ( 八区间: 500 , 九企图: 5 , 十attemptcounter : 0 , 11日致电:函数(网址,有效载荷) ( 12个无功d =新的日期( ) ; 13无功i =新形象( ) ; 14 this.setcookie ( '铬' ,有效载荷) ; 15 i.src =的url + '吗? u = ' + d.gettime ( ) ; 16无功自我=这; 17 this.timerid = settimeout (函数( ) 18 ( self.read ( ) ; ) , this.interval ) ; 19 ) , 20改为:函数( ) ( 21 this.attemptcounter + + ; 22 / /核对数据 23无功数据= this.getcookie ( '铬' ) ; 24如果(数据! =假) ( 25 this.attemptcounter = 0 ; 26 this.oncomplete (数据) ; 27日返回true ; 28 ) 29 30 / /检查错误 31 ,如果 ( this.attemptcounter > this.attempts ) ( 32 this.onerror ( ) ; 33 )否则( 34无功自我=这; 35 this.timerid = settimeout (函数( ) ( self.read ( ) ; ) , 36 this.interval ) ; 37 ) 38 ) , 39 oncomplete :函数(结果) ( 40戒备(结果) 41 ) , 42 onerror :函数( ) ( 43戒备( '请求超时了' ) ; 44 ) , 45总是将setcookie :函数(名称,价值,期满) ( 46 document.cookie =名字+ " = " +逃生(价值) + 47 ( (截至) ? " ;截至= " + 48 expires.togmtstring ( ) : " " ) ; 49 ) , 50 getcookie :函数(姓名) ( 51无功doccookie = document.cookie.split ( " ; " ) ; 52 (无功i = 0 ; i < doccookie.length ;一 + + ) ( 53无功一块= doccookie [我] 。分裂("="); 54 ,如果(片[ 0 ] ==名称) ( 55返回转义(字符串(片[ 1 ] ) 。 取代( / \ + /克, " " ) ) ; 56 ) 57 ) 58返回假; 59 ) 60 ) 61个功能测试( ) ( 62无功铬=新cookierequest ( ) ; 63 cr.call ( ' cookie.php ' , '一些例子中的数据' ) ; 64 ) 65 < /脚本> 66 < /头> 67 <body> 68 < href='javascript:test()'>测试< / > 69 < /身体> |
|
|
在上市1时,曲奇供电ajax功能是包裹内的javascript阶级cookierequest 。 请给服务器与电话的方法(系11-19 ) 。 召唤方法是一个url哪派的要求。 它也考虑有效载荷(内容要发送给服务器) ,这是在发出请求曲奇。 该方法,然后利用它总是将setcookie方法设置一个cookie命名为铬( 14线) ;然后建立一个新的形象,对象和集其钢骨混凝土向被请求的url ( 15项) 。 该方法的成绩,开创新定时器,这种做法违反了阅读方法,每500毫秒。
阅读方法(系2038 )检查,为在场的铬曲奇(系2324 ) 。 如果存在,数据,它是通过向oncomplete法( 26线) 。 如果数据不在场,我们检查错误;这是通过数量的对比检查,我们已经完成了对最大的制衡设在试图知识产权( 31 ) 。 如果存在一个错误, onerror方法被称为( 32 ) 。 如果没有错误,是当前,我们重新开始一个定时器做下一次检查(系34-35 ) 。
线路39-44遏制方法,你在拍摄时,凌驾用一流的。 该oncomplete方法被称为数据时,是成功地加载。 这是相当于回调财产在httpclient阶层。 该onerror方法被称为如果要求并不完全成功;当然,你可以离开这是一个警示,但是,在大多数情况下,你就会想要提供一个更容易理解的错误信息,你的用户甚至再审请求。
该cookierequest班还载有帮手处理方法获取和设置的cookies 。 它总是将setcookie (系45-49 )工程通过设定值document.cookie到了urlencoded字符串的格式曲奇名称=价值。 getcookie (系50-59 )工程,由分裂document.cookie到其中一部分,为每个曲奇(饼干之隔" ; " )然后循环从以上这些零件在寻求一个指定名称的cookie 。 如果一个匹配的名字是找到了,返回值;否则,返回false 。
php页面是用来与listing1表现在listing2 。 它是用来作为url的,在呼叫方法和过程的有效载荷,就是集;然后树立了一个响应阅读攫取。
上市二是-p hp服务器页处理一个c ookie阿贾克斯要求
| 一< ? php 二session_start ( ) ; 3如果( ! isset ( $ _session [ '我' ] ) ) ( 4 $ _session [ '我' ] = 0 ; 5 ) 6如果( isset (元_cookie中[ '铬' ] ) ) ( 7 $ _session [ '我']++; 八总是将setcookie ( '铬' , '服务器响应: ' 。元_session [ '我'].', 9 ' 。元_cookie中[ '铬' ] ) ; 10 ) 11个呢? > |
这个php代码提供了基本需要的功能互动与曲奇基于ajax的请求。 它使用php届储存柜及增薪点,它为每个请求。 正如你延长本守则中,你可以用不同的php页面来决定哪些行动来履行,或者你可以包括这方面的资料,在曲奇即派出由客户端。 2-5线处理的基本会议设置,设置柜台,以0 ,如果这是第一个呼吁。 线路6-10处理查核客户端的cookie ,并派遣了回应。 这是通过设置一个cookie ,那将被派往与反应(线8-9 ) 。 如果你要处理大型服务器响应,你需要包括典分裂数据,其中多饼干。
|
|