PHP开发笔记's Archiver

fangzhen 发表于 2009-10-30 09:33

使用 Ajax.Request类

[font=新宋体]Ajax[/font] 对象是一个预定义对象,由这个包创建,为了封装和简化编写[color=#0000ff]AJAX[/color] 功能涉及的狡猾的代码。 这个对象包含一系列的封装AJAX逻辑的类。我们来看看它们的一些。
为了支持 AJAX 功能。这个包定义了 [font=新宋体]Ajax.Request [/font]类。
假如你有一个应用程序可以通过url [i][url=http://yoursever/app/xml.php?empID=1234&year=1998]http://yoursever/app/xml.php?empID=1234&year=1998[/url][/i]与服务器通信。它返回下面这样的XML 响应。
xml.php
<?xml version="1.0" encoding="utf-8" ?>
<ajax-response>
    <response type="object" id="productDetails">
        <monthly-sales>
            <employee-sales>
                <employee-id>1234</employee-id>
                <year-month>1998-01</year-month>
                <sales>$8,115.36</sales>
            </employee-sales>
            <employee-sales>
                <employee-id>1234</employee-id>
                <year-month>1998-02</year-month>
                <sales>$11,147.51</sales>
            </employee-sales>
        </monthly-sales>
    </response>
</ajax-response>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "[url=http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd]http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd[/url]">
<html xmlns="[url=http://www.w3.org/1999/xhtml]http://www.w3.org/1999/xhtml[/url]">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>ajax练习</title>
<script language="javascript" src="prototype.js"></script>
</head>
<body>
<script>
function searchSales()
{
var empID = $F('lstEmployees');
var y = $F('lstYears');
var url = 'xml.php';
var pars = 'empID=' + empID + '&year=' + y;
var myAjax = new Ajax.Request(
    url,
    {method: 'get', parameters: pars, onComplete: showResponse}
    );
}
function showResponse(originalRequest)
{
//put returned XML in the textarea
$('result').value = originalRequest.responseText;
}
</script>
<select id="lstEmployees" size="10">
    <option value="5">Buchanan, Steven</option>
    <option value="8">Callahan, Laura</option>
    <option value="1">Davolio, Nancy</option>
</select>
<select id="lstYears" size="3">
    <option selected="selected" value="1996">1996</option>
    <option value="1997">1997</option>
    <option value="1998">1998</option>
</select>
<br><textarea id=result cols=60 rows=10 ></textarea>
</body>
</html>

你看到传入 [font=新宋体]Ajax.Request[/font]构造方法的第二个对象了吗? 参数[font=新宋体]{method: 'get', parameters: pars, onComplete: showResponse}[/font] 表示一个匿名对象的真实写法。他表示你传入的这个对象有一个名为 [font=新宋体]method[/font] 值为 [font=新宋体]'get'的属性,[/font]另一个属性名为 [font=新宋体]parameters[/font] 包含HTTP请求的查询字符串,和一个[font=新宋体]onComplete[/font] 属性/方法包含函数[font=新宋体]showResponse[/font]。
还有一些其它的属性可以在这个对象里面定义和设置,如 [font=新宋体]asynchronous[/font],可以为[font=新宋体]true[/font] 或 [font=新宋体]false[/font] 来决定AJAX对服务器的调用是否是异步的(默认值是 [font=新宋体]true[/font])。
这个参数定义AJAX调用的选项。在我们的例子中,在第一个参数通过HTTP GET命令请求那个url,传入了变量 [font=新宋体]pars[/font]包含的查询字符串, [font=新宋体]Ajax.Request [/font]对象在它完成接收响应的时候将调用[font=新宋体]showResponse[/font] 方法。
也许你知道, [font=新宋体]XMLHttpRequest[/font]在HTTP请求期间将报告进度情况。这个进度被描述为四个不同阶段:[i]Loading[/i], [i]Loaded[/i], [i]Interactive[/i], 或 [i]Complete[/i]。你可以使 [font=新宋体]Ajax.Request[/font] 对象在任何阶段调用自定义方法 ,[i]Complete[/i] 是最常用的一个。想调用自定义的方法只需要简单的在请求的选项参数中的名为 [font=新宋体]onXXXXX[/font] 属性/方法中提供自定义的方法对象。 就像我们例子中的 [font=新宋体]onComplete[/font] 。你传入的方法将会被用一个参数调用,这个参数是 [font=新宋体]XMLHttpRequest[/font] 对象自己。你将会用这个对象去得到返回的数据并且或许检查包含有在这次调用中的HTTP结果代码的 [font=新宋体]status[/font] 属性。
还有另外两个有用的选项用来处理结果。我们可以在[font=新宋体]onSuccess[/font] 选项处传入一个方法,当AJAX无误的执行完后调用, 相反的,也可以在[font=新宋体]onFailure[/font]选项处传入一个方法,当服务器端出现错误时调用。正如[font=新宋体]onXXXXX[/font] 选项传入的方法一样,这两个在被调用的时候也传入一个带有AJAX请求的[font=新宋体]XMLHttpRequest对象。[/font]
我们的例子没有用任何有趣的方式处理这个 XML响应, 我们只是把这段XML放进了一个文本域里面。对这个响应的一个典型的应用很可能就是找到其中的想要的信息,然后更新页面中的某些元素, 或者甚至可能做某些XSLT转换而在页面中产生一些HTML。
更完全的解释,请参照 [color=#0000ff]Ajax.Request 参考[/color] 和 [color=#0000ff]Ajax选项参考[/color]

钟军76 发表于 2011-11-24 11:00

  [url=http://www.hzabl.com/zuixin/zx165.html]包茎手术后护理[/url]  包茎手术后怎么护理,包茎是指包皮口过小,使包皮不能上翻显露出阴茎头;包皮过长则是指包皮覆盖全部阴茎[color=black]头,而包皮口并不小,可以上翻显露出阴茎头。婴幼儿包皮过长往往是生理性的,到了青春期后阴茎头仍迟迟不能显露才能称为包茎或包皮过长。那么,包茎手术后怎么护理呢
  包茎手术后护理要点,包茎手术虽然是个小手术,但包茎手术后护理做的好,对恢复也很有必要。下面是包茎手术后如何护理的要点:
  第一,包茎手术的过程一般约10几分钟,因此无须住院。
  第二,包茎术后避免勃起,以免导致伤口裂开。
  第三,若伤口肿痛出血,可以局部冷敷加压止血;若出血严重,应立即至医院就诊。
  第四,包茎手术后应多准备几条内裤换洗,因为组织液在恢复期间会有渗出的情况发生。
  第五,包皮手术后伤口会有轻微疼痛及瘀肿的情形出现,因此术后应定时服用止痛耀,并尽量穿着宽松的衣裤,避免摩擦阴茎。
  第六,伤口愈合前,应当按照医嘱用耀消炎,并定期回诊复查。
  第七,术后伤口保持清洁干燥,小便时不要弄湿纱布。
  沈阳军区疾控中心医院开展的微创包皮包茎整形手术是根据美容整形原则,将微创技术用于临床,对包皮环切术方法进行改进,改进后的包皮环切术,创伤小,术后并发症少,术后包皮外观自然、功能好。另外,我院是沈阳地区国庆节唯一不放假医院,国庆节期间来院包皮手术更可享受专家主刀待遇。建议患者国庆节期间到医院进行手术治疗,因为国庆节期间八天长假,不仅有时间休息,另外秋季温度较低,伤口不容易发炎,也更有利于患者伤口恢复。[/color]
[color=black]详情请咨询:[font=宋体][size=10pt][url=http://www.dianping.com/shop/4509449]http://www.dianping.com/shop/4509449[/url][/size][/font][/color]

页: [1]

Powered by Discuz! Archiver 6.1.0  © 2001-2007 Comsenz Inc.