阿贾克斯后备选择2 〜派要求用曲奇

你可以传送数据给你的服务器用饼干,但没有实施利用他们将受到严重限制。 饼干,有一个最大规模的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 ) 。 如果你要处理大型服务器响应,你需要包括典分裂数据,其中多饼干。

这是一篇文章说,卡罗尔鲁登贝里
免责声明:我们的网站是不负责所载资料由本条规定。 这篇文章根本没有反映看法,意见,思想或信仰的文章目录中的工作人员。

翻译预告:文章"阿贾克斯后备选择2 〜派要求用曲奇"被翻译使用的自动翻译服务。 我们真诚地道歉,对任何翻译错误发生。 谢谢你的谅解。

Online: 555 users browsing the articles directory