﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>PHP博客-为了忘却的纪念-文章分类-xajax</title><link>http://www.phpweblog.net/fuyongjie/category/376.html</link><description>言己及众</description><language>zh-cn</language><lastBuildDate>Sat, 17 Nov 2007 05:58:39 GMT</lastBuildDate><pubDate>Sat, 17 Nov 2007 05:58:39 GMT</pubDate><ttl>60</ttl><item><title>xAjax初体验-验证用户注册 </title><link>http://www.phpweblog.net/fuyongjie/articles/2329.html</link><dc:creator>besthost</dc:creator><author>besthost</author><pubDate>Sat, 17 Nov 2007 02:45:00 GMT</pubDate><guid>http://www.phpweblog.net/fuyongjie/articles/2329.html</guid><wfw:comment>http://www.phpweblog.net/fuyongjie/comments/2329.html</wfw:comment><comments>http://www.phpweblog.net/fuyongjie/articles/2329.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.phpweblog.net/fuyongjie/comments/commentRss/2329.html</wfw:commentRss><trackback:ping>http://www.phpweblog.net/fuyongjie/services/trackbacks/2329.html</trackback:ping><description><![CDATA[<table style="BORDER-COLLAPSE: collapse" borderColor=#a5bd6b cellSpacing=1 cellPadding=0 width="100%" border=1>
    <tbody>
        <tr>
            <td style="FONT-SIZE: 12pt" align=middle>
            <table style="BORDER-COLLAPSE: collapse; WORD-WRAP: break-word" cellSpacing=0 cellPadding=0 width="100%" border=0>
                <tbody>
                    <tr>
                        <td style="FONT-SIZE: 12pt" align=middle>
                        <table style="BORDER-COLLAPSE: collapse; WORD-WRAP: break-word" cellSpacing=0 cellPadding=0 width="100%" border=0>
                            <tbody>
                                <tr>
                                    <td style="FONT-SIZE: 12pt">
                                    <div id=art style="FONT-SIZE: 12pt; MARGIN: 15px">
                                    <p style="FONT-SIZE: 12pt">xAjax,验证用户.<br>check.php</p>
                                    <p style="FONT-SIZE: 12pt">&lt;?php<br>require_once ("xajax/xajax_core/xajax.inc.php");<br>$xajax = new xajax("check.server.php");<br>//想要使用的函数所在的文件<br>$xajax-&gt;registerFunction("CheckName");<br>//想要使用的函数.<br>echo '&lt;?xml version="1.0" encoding="UTF-8"?&gt;'<br>?&gt;<br>&lt;!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "<a href="http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><font color=#7d1836>http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd</font></a>"&gt;<br>&lt;html xmlns="<a href="http://www.w3.org/1999/xhtml"><font color=#7d1836>http://www.w3.org/1999/xhtml</font></a>" xml:lang="en" lang="en"&gt;<br>&lt;head&gt;<br>&lt;?php $xajax-&gt;printJavascript('xajax/'); //这里指明xajax_js所在的那个文件夹. ?&gt;<br>&lt;script type="text/javascript"&gt;<br>&nbsp;&nbsp;function submitSignup()<br>&nbsp;&nbsp;{<br>&nbsp;&nbsp;&nbsp;xajax.$('notice').innerHTML="Processing,please wait."<br>&nbsp;&nbsp;&nbsp;xajax_CheckName(xajax.getFormValues("signupForm"));<br>&nbsp;&nbsp;&nbsp;return false;<br>&nbsp;&nbsp;}<br>&lt;/script&gt;<br>&lt;/head&gt;</p>
                                    <p style="FONT-SIZE: 12pt">&lt;body&gt;<br>&lt;form id="signupForm" name="signupForm" action="javascript:void(null);" onsubmit="submitSignup();"&gt;<br>&lt;div id="notice"&gt;&lt;/div&gt;<br>&nbsp; &lt;input name="username" type="text" id="username" /&gt;</p>
                                    <p style="FONT-SIZE: 12pt">&nbsp; &lt;input name="password" type="text" id="password" /&gt;</p>
                                    <p style="FONT-SIZE: 12pt">&nbsp; &lt;input name="subOK" type="submit" id="subOK" value="submit" /&gt;</p>
                                    <p style="FONT-SIZE: 12pt">&lt;/form&gt;<br>&lt;/body&gt;<br>&lt;/html&gt;</p>
                                    <p style="FONT-SIZE: 12pt">check.server.php<br>&lt;?php<br>require_once ("xajax/xajax_core/xajax.inc.php");<br>$xajax = new xajax("check.server.php");<br>$xajax-&gt;registerFunction("CheckName");<br>function CheckName($formValues)<br>{<br>&nbsp;$objResponse = new xajaxResponse();&nbsp; //这个对象去google查一下吧,巨好用.或者是官方看看API手册也成.<br>&nbsp;$username = $formValues['username'];<br>&nbsp;if($username=="")<br>&nbsp;{<br>&nbsp;&nbsp;$notice="Please input all the required information";<br>&nbsp;&nbsp;$color = "red";<br>&nbsp;}<br>&nbsp;else<br>&nbsp;{<br>&nbsp;&nbsp;$notice="OK";<br>&nbsp;&nbsp;$color = "green";<br>&nbsp;}<br>&nbsp;$objResponse-&gt;assign("notice","innerHTML",$notice);<br>&nbsp;$objResponse-&gt;assign("notice","style.color",$color);<br>&nbsp;return $objResponse;<br>}<br>$xajax-&gt;processRequest();</p>
                                    <p style="FONT-SIZE: 12pt">?&gt;</p>
                                    <p style="FONT-SIZE: 12pt">OK了.当然,在创建文件的时候要注意选择页面编码,选择utf-8但是不要包括unicode(BOM)签名的,否则会很容易出现xml无效的错误.<br></p>
                                    <div style="FONT-SIZE: 12pt"></div>
                                    </div>
                                    </td>
                                </tr>
                            </tbody>
                        </table>
                        </td>
                    </tr>
                </tbody>
            </table>
            </td>
        </tr>
    </tbody>
</table>
<img src ="http://www.phpweblog.net/fuyongjie/aggbug/2329.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.phpweblog.net/fuyongjie/" target="_blank">besthost</a> 2007-11-17 10:45 <a href="http://www.phpweblog.net/fuyongjie/articles/2329.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>xajax+smarty范例</title><link>http://www.phpweblog.net/fuyongjie/articles/2328.html</link><dc:creator>besthost</dc:creator><author>besthost</author><pubDate>Sat, 17 Nov 2007 02:26:00 GMT</pubDate><guid>http://www.phpweblog.net/fuyongjie/articles/2328.html</guid><wfw:comment>http://www.phpweblog.net/fuyongjie/comments/2328.html</wfw:comment><comments>http://www.phpweblog.net/fuyongjie/articles/2328.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.phpweblog.net/fuyongjie/comments/commentRss/2328.html</wfw:commentRss><trackback:ping>http://www.phpweblog.net/fuyongjie/services/trackbacks/2328.html</trackback:ping><description><![CDATA[<div id=art style="MARGIN: 15px"><strong style="COLOR: black; BACKGROUND-COLOR: #ffff66">
<p>网上关于XAJAX的教程很少，出现最多的就是那个七步使用XAJAX的文档。不过那个东西没有提到一下东西，我就简单说一下。都是自己摸索的，有不对的地方还请指教。</p>
<p>一切说明都以0.25版本为基础，0.5BETA的用户请顺藤摸瓜照葫芦画瓢照猫画虎举一反三&#8230;&#8230;</p>
<p><strong>第一个问题，我怎么才能实现逻辑和表现分离啊？（HTML代码和程序代码分离）</strong></p>
<p>要做到这个我们必然需要一个模板引擎了（当然也可以写一个超级简单的，不过再简单也叫模板引擎吧&#8230;&#8230;）</p>
<p>目前比较火的是SMARTY吧？咱们就用SMARTY+XAJAX开说。</p>
<p>比如我们现在要制作一个用户信息页面，简单的左右两边的页面。左边是导航，右边是具体的内容。</p>
<p>HTML我简单写一个：</p>
<div class=hl-surround>
<ol class="hl-main ln-show" ondblclick=linenumber(this) title="Double click to hide line number.">
    <li class=hl-firstline><span style="COLOR: olive">&lt;</span><span style="COLOR: green">div</span><span style="COLOR: gray"> </span><span style="COLOR: #00008b">id</span><span style="COLOR: gray">=</span><span style="COLOR: #8b0000">"</span><span style="COLOR: red">main</span><span style="COLOR: #8b0000">"</span><span style="COLOR: olive">&gt;</span>
    <li><span style="COLOR: gray">&nbsp; </span><span style="COLOR: olive">&lt;</span><span style="COLOR: green">div</span><span style="COLOR: gray">&nbsp;</span><span style="COLOR: #00008b">id</span><span style="COLOR: gray">=</span><span style="COLOR: #8b0000">"</span><span style="COLOR: red">left</span><span style="COLOR: #8b0000">"</span><span style="COLOR: olive">&gt;</span>
    <li><span style="COLOR: gray">&nbsp;&nbsp; </span><span style="COLOR: olive">&lt;</span><span style="COLOR: green">li</span><span style="COLOR: olive">&gt;&lt;</span><span style="COLOR: green">a</span><span style="COLOR: gray">&nbsp;</span><span style="COLOR: #00008b">href</span><span style="COLOR: gray">=</span><span style="COLOR: #8b0000">"</span><span style="COLOR: red">#</span><span style="COLOR: #8b0000">"</span><span style="COLOR: gray"> </span><span style="COLOR: #00008b">mce_href</span><span style="COLOR: gray">=</span><span style="COLOR: #8b0000">"</span><span style="COLOR: red">#</span><span style="COLOR: #8b0000">"</span><span style="COLOR: gray"> </span><span style="COLOR: #00008b">onClick</span><span style="COLOR: gray">=</span><span style="COLOR: #8b0000">"</span><span style="COLOR: red">xajax_showDetail();</span><span style="COLOR: #8b0000">"</span><span style="COLOR: olive">&gt;&lt;/</span><span style="COLOR: green">li</span><span style="COLOR: olive">&gt;</span>
    <li><span style="COLOR: gray">&nbsp;&nbsp; </span><span style="COLOR: olive">&lt;</span><span style="COLOR: green">li</span><span style="COLOR: olive">&gt;&lt;</span><span style="COLOR: green">a</span><span style="COLOR: gray">&nbsp;</span><span style="COLOR: #00008b">href</span><span style="COLOR: gray">=</span><span style="COLOR: #8b0000">"</span><span style="COLOR: red">#</span><span style="COLOR: #8b0000">"</span><span style="COLOR: gray"> </span><span style="COLOR: #00008b">mce_href</span><span style="COLOR: gray">=</span><span style="COLOR: #8b0000">"</span><span style="COLOR: red">#</span><span style="COLOR: #8b0000">"</span><span style="COLOR: gray"> </span><span style="COLOR: #00008b">onClick</span><span style="COLOR: gray">=</span><span style="COLOR: #8b0000">"</span><span style="COLOR: red">xajax_showUserinfo();</span><span style="COLOR: #8b0000">"</span><span style="COLOR: olive">&gt;&lt;/</span><span style="COLOR: green">li</span><span style="COLOR: olive">&gt;</span>
    <li><span style="COLOR: gray">&nbsp; </span><span style="COLOR: olive">&lt;/</span><span style="COLOR: green">div</span><span style="COLOR: olive">&gt;</span><span style="COLOR: gray">&nbsp;</span>
    <li><span style="COLOR: gray">&nbsp; </span><span style="COLOR: olive">&lt;</span><span style="COLOR: green">div</span><span style="COLOR: gray">&nbsp;</span><span style="COLOR: #00008b">id</span><span style="COLOR: gray">=</span><span style="COLOR: #8b0000">"</span><span style="COLOR: red">right</span><span style="COLOR: #8b0000">"</span><span style="COLOR: olive">&gt;</span><span style="COLOR: gray">&nbsp;</span>
    <li><span style="COLOR: gray">&nbsp; </span><span style="COLOR: olive">&lt;/</span><span style="COLOR: green">div</span><span style="COLOR: olive">&gt;</span><span style="COLOR: gray">&nbsp;</span>
    <li><span style="COLOR: olive">&lt;/</span><span style="COLOR: green">div</span><span style="COLOR: olive">&gt;</span></li>
</ol>
</div>
<p>分别表示左右两个部分。左边有两个链接，点击后右边通过AJAX取得数据并且重新填充。<br>现在我们构建两个模板页面，对应上面链接。</p>
<p><strong>detai.htm:</strong></p>
<div class=hl-surround>
<ol class="hl-main ln-show" ondblclick=linenumber(this) title="Double click to hide line number.">
    <li class=hl-firstline><span style="COLOR: olive">&lt;</span><span style="COLOR: green">div</span><span style="COLOR: olive">&gt;</span>
    <li><span style="COLOR: gray">{|$detail|}</span><span style="COLOR: #ffa500">&lt;!--这个$detail是smarty要替换的内容--&gt;</span>
    <li><span style="COLOR: olive">&lt;/</span><span style="COLOR: green">div</span><span style="COLOR: olive">&gt;</span></li>
</ol>
</div>
<p><strong>userinfo.htm:</strong></p>
<div class=hl-surround>
<ol class="hl-main ln-show" ondblclick=linenumber(this) title="Double click to hide line number.">
    <li class=hl-firstline><span style="COLOR: olive">&lt;</span><span style="COLOR: green">div</span><span style="COLOR: olive">&gt;</span>
    <li><span style="COLOR: gray">{|$userinfo|}</span><span style="COLOR: #ffa500">&lt;!--这个$userinfo是smarty要替换的内容--&gt;</span>
    <li><span style="COLOR: olive">&lt;/</span><span style="COLOR: green">div</span><span style="COLOR: olive; BACKGROUND-COLOR: yellow">&gt;</span></li>
</ol>
</div>
<p>好了准备工作结束</p>
<p>开始xajax server的编写</p>
<p><strong>server.php:</strong></p>
<div class=hl-surround>
<ol class="hl-main ln-show" ondblclick=linenumber(this) title="Double click to hide line number.">
    <li class=hl-firstline><span style="COLOR: blue">&lt;?php</span>
    <li><span style="COLOR: gray">&nbsp;</span>
    <li><span style="COLOR: #00008b">$xajax</span><span style="COLOR: gray"> = </span><span style="COLOR: green">new</span><span style="COLOR: gray">&nbsp;</span><span style="COLOR: blue">xajax</span><span style="COLOR: olive">()</span><span style="COLOR: gray">;</span>
    <li><span style="COLOR: gray">&nbsp;</span>
    <li><span style="COLOR: #00008b">$smarty</span><span style="COLOR: gray"> = </span><span style="COLOR: green">new</span><span style="COLOR: gray">&nbsp;</span><span style="COLOR: blue">smarty</span><span style="COLOR: olive">()</span><span style="COLOR: gray">;</span>
    <li><span style="COLOR: gray">&nbsp;</span>
    <li><span style="COLOR: green">function</span><span style="COLOR: gray">&nbsp;</span><span style="COLOR: blue">Detail</span><span style="COLOR: olive">()</span>
    <li><span style="COLOR: gray">&nbsp;</span>
    <li><span style="COLOR: olive">{</span>
    <li><span style="COLOR: gray">&nbsp;</span>
    <li><span style="COLOR: #00008b">$objResponse</span><span style="COLOR: gray"> = </span><span style="COLOR: green">new</span><span style="COLOR: gray">&nbsp;</span><span style="COLOR: blue">xajaxResponse</span><span style="COLOR: olive">()</span><span style="COLOR: gray">;</span>
    <li><span style="COLOR: gray">&nbsp;</span>
    <li><span style="COLOR: #00008b">$detail</span><span style="COLOR: gray"> = </span><span style="COLOR: #8b0000">"</span><span style="COLOR: red">测试XAJAX</span><span style="COLOR: #8b0000">"</span><span style="COLOR: gray">;</span>
    <li><span style="COLOR: gray">&nbsp;</span>
    <li><span style="COLOR: #ffa500">/*********这里是重点部分***************/</span>
    <li><span style="COLOR: gray">&nbsp;</span>
    <li><span style="COLOR: gray">&nbsp;</span><span style="COLOR: #00008b">$smarty</span><span style="COLOR: gray"> -&gt; </span><span style="COLOR: blue">assign</span><span style="COLOR: olive">(</span><span style="COLOR: #8b0000">'</span><span style="COLOR: red">detail</span><span style="COLOR: #8b0000">'</span><span style="COLOR: gray">,</span><span style="COLOR: #00008b">$detail</span><span style="COLOR: olive">)</span><span style="COLOR: gray">;</span><span style="COLOR: #ffa500">//替换模板的数据</span>
    <li><span style="COLOR: gray">&nbsp;</span>
    <li><span style="COLOR: #00008b">$content</span><span style="COLOR: gray"> = </span><span style="COLOR: #00008b">$smarty</span><span style="COLOR: gray"> -&gt; </span><span style="COLOR: blue">fetch</span><span style="COLOR: olive">(</span><span style="COLOR: #8b0000">'</span><span style="COLOR: red">detail.htm</span><span style="COLOR: #8b0000">'</span><span style="COLOR: olive">)</span><span style="COLOR: gray">;</span><span style="COLOR: #ffa500">//这里是最重要的一步，smarty把动态数据替换模板，并且返回已经替换过后的模板HTML数据</span>
    <li><span style="COLOR: gray">&nbsp;</span>
    <li><span style="COLOR: #ffa500">/****接着我们用替换过的数据通过AJAX填充页面*****/</span>
    <li><span style="COLOR: gray">&nbsp;</span>
    <li><span style="COLOR: #00008b">$objResponse</span><span style="COLOR: gray"> -&gt; </span><span style="COLOR: blue">addAssign</span><span style="COLOR: olive">(</span><span style="COLOR: #8b0000">'</span><span style="COLOR: red">right</span><span style="COLOR: #8b0000">'</span><span style="COLOR: gray">,</span><span style="COLOR: #8b0000">'</span><span style="COLOR: red">innerHTML</span><span style="COLOR: #8b0000">'</span><span style="COLOR: gray">,</span><span style="COLOR: #00008b">$content</span><span style="COLOR: olive">)</span><span style="COLOR: gray">;</span>
    <li><span style="COLOR: gray">&nbsp;</span>
    <li><span style="COLOR: blue">retuen</span><span style="COLOR: gray">&nbsp;</span><span style="COLOR: #00008b">$objResponse</span><span style="COLOR: gray"> ;</span>
    <li><span style="COLOR: gray">&nbsp;</span>
    <li><span style="COLOR: olive">}</span>
    <li><span style="COLOR: gray">&nbsp;</span>
    <li><span style="COLOR: #00008b">$xajax</span><span style="COLOR: gray"> -&gt; </span><span style="COLOR: blue">registerFunction</span><span style="COLOR: olive">(</span><span style="COLOR: #8b0000">'</span><span style="COLOR: red">detail</span><span style="COLOR: #8b0000">'</span><span style="COLOR: olive">)</span><span style="COLOR: gray">;</span><span style="COLOR: #ffa500">//注册函数</span>
    <li><span style="COLOR: #00008b">$xajax</span><span style="COLOR: gray"> -&gt; </span><span style="COLOR: blue">processRequests</span><span style="COLOR: olive">()</span><span style="COLOR: gray">;</span><span style="COLOR: #ffa500">//接管请求</span>
    <li><span style="COLOR: gray">&nbsp;</span>
    <li><span style="COLOR: blue">?&gt;</span></li>
</ol>
</div>
<p>server.php编写结束，当然无视了userinfo这个东西，因为东西是一样的。</p>
<p>到此为止，我们实现了XAJAX和SMARTY结合实现AJAX效果的目的。</p>
<p><strong>接着再说说如何实现更炫的效果</p>
<p>见过很多使用AJAX技术的网站在读取数据的时候都会出现一个进度条写着读取中吧？感觉很COOL是吧，XAJAX照样也能做！</strong></p>
<p>其实很简单，在要出现进度条的页面上首先放上如下代码：</p>
<div class=hl-surround>
<ol class="hl-main ln-show" ondblclick=linenumber(this) title="Double click to hide line number.">
    <li class=hl-firstline><span style="COLOR: #ffa500">&lt;!--loding--&gt;</span>
    <li><span style="COLOR: olive">&lt;</span><span style="COLOR: green">div</span><span style="COLOR: gray">&nbsp;</span><span style="COLOR: #00008b">id</span><span style="COLOR: gray">=</span><span style="COLOR: #8b0000">"</span><span style="COLOR: red">loadingContainer</span><span style="COLOR: #8b0000">"</span><span style="COLOR: olive">&gt;&lt;</span><span style="COLOR: green">div</span><span style="COLOR: gray"> </span><span style="COLOR: #00008b">id</span><span style="COLOR: gray">=</span><span style="COLOR: #8b0000">"</span><span style="COLOR: red">loading</span><span style="COLOR: #8b0000">"</span><span style="COLOR: olive">&gt;</span><span style="COLOR: gray">页面载入中，请稍候</span><span style="COLOR: olive">&lt;</span><span style="COLOR: green">br</span><span style="COLOR: olive">/&gt;&lt;</span><span style="COLOR: green">img</span><span style="COLOR: gray"> </span><span style="COLOR: #00008b">src</span><span style="COLOR: gray">=</span><span style="COLOR: #8b0000">"</span><span style="COLOR: red">src/images/common/loader.gif</span><span style="COLOR: #8b0000">"</span><span style="COLOR: gray"> </span><span style="COLOR: #00008b">mce_src</span><span style="COLOR: gray">=</span><span style="COLOR: #8b0000">"</span><span style="COLOR: red">src/images/common/loader.gif</span><span style="COLOR: #8b0000">"</span><span style="COLOR: gray"> </span><span style="COLOR: olive">/&gt;&lt;/</span><span style="COLOR: green">div</span><span style="COLOR: olive">&gt;&lt;/</span><span style="COLOR: green">div</span><span style="COLOR: olive">&gt;</span>
    <li><span style="COLOR: #ffa500">&lt;!--loding end--&gt;</span></li>
</ol>
</div>
<p>这样就做出了来了一个显示等待条的方块。</p>
<p>接着在页面里面写上如下JS代码：</p>
<div class=hl-surround>
<ol class="hl-main ln-show" ondblclick=linenumber(this) title="Double click to hide line number.">
    <li class=hl-firstline><span style="COLOR: gray">&lt;</span><span style="COLOR: blue">script</span><span style="COLOR: gray"> </span><span style="COLOR: blue">languege</span><span style="COLOR: gray">=</span><span style="COLOR: #8b0000">"</span><span style="COLOR: red">javascript/text</span><span style="COLOR: #8b0000">"</span><span style="COLOR: gray">&gt;</span>
    <li><span style="COLOR: blue">loadingpic</span><span style="COLOR: gray"> = </span><span style="COLOR: teal">document</span><span style="COLOR: gray">.</span><span style="COLOR: blue">getElementById</span><span style="COLOR: olive">(</span><span style="COLOR: #8b0000">'</span><span style="COLOR: red">loadingContainer</span><span style="COLOR: #8b0000">'</span><span style="COLOR: olive">)</span><span style="COLOR: gray">;</span>
    <li><span style="COLOR: gray">&nbsp;</span>
    <li><span style="COLOR: blue">loadingpic</span><span style="COLOR: gray">.</span><span style="COLOR: blue">style</span><span style="COLOR: gray">.</span><span style="COLOR: blue">display</span><span style="COLOR: gray"> = </span><span style="COLOR: #8b0000">'</span><span style="COLOR: red">none</span><span style="COLOR: #8b0000">'</span><span style="COLOR: gray">;</span><span style="COLOR: #ffa500">// 初始化进度条为不可见</span>
    <li><span style="COLOR: gray">&nbsp;</span>
    <li><span style="COLOR: gray">&nbsp;</span><span style="COLOR: #ffa500">/*****这两句话比较重要*****/</span>
    <li><span style="COLOR: blue">xajax</span><span style="COLOR: gray">.</span><span style="COLOR: blue">loadingFunction</span><span style="COLOR: gray"> = </span><span style="COLOR: blue">loading</span><span style="COLOR: gray">; </span><span style="COLOR: #ffa500">// 定义XAJAX在等待请求时候调用的函数</span>
    <li><span style="COLOR: blue">xajax</span><span style="COLOR: gray">.</span><span style="COLOR: blue">doneLoadingFunction</span><span style="COLOR: gray"> = </span><span style="COLOR: blue">loadingDone</span><span style="COLOR: gray">; </span><span style="COLOR: #ffa500">//定义XAJAX在或得请求数据以后调用的函数</span>
    <li><span style="COLOR: gray">&nbsp;</span>
    <li><span style="COLOR: green">function</span><span style="COLOR: gray">&nbsp;</span><span style="COLOR: blue">loading</span><span style="COLOR: olive">()</span>
    <li><span style="COLOR: olive">{</span>
    <li><span style="COLOR: gray">&nbsp; &nbsp; </span><span style="COLOR: blue">loadingpic</span><span style="COLOR: gray">.</span><span style="COLOR: blue">style</span><span style="COLOR: gray">.</span><span style="COLOR: blue">display</span><span style="COLOR: gray"> = </span><span style="COLOR: #8b0000">'</span><span style="COLOR: red">block</span><span style="COLOR: #8b0000">'</span><span style="COLOR: gray">; </span><span style="COLOR: #ffa500">//设置请求数据的时候可见</span>
    <li><span style="COLOR: olive">}</span>
    <li><span style="COLOR: green">function</span><span style="COLOR: gray">&nbsp;</span><span style="COLOR: blue">loadingDone</span><span style="COLOR: olive">()</span>
    <li><span style="COLOR: olive">{</span>
    <li><span style="COLOR: gray">&nbsp;&nbsp; </span><span style="COLOR: blue">loadingpic</span><span style="COLOR: gray">.</span><span style="COLOR: blue">style</span><span style="COLOR: gray">.</span><span style="COLOR: blue">display</span><span style="COLOR: gray"> = </span><span style="COLOR: #8b0000">'</span><span style="COLOR: red">none</span><span style="COLOR: #8b0000">'</span><span style="COLOR: gray">; </span><span style="COLOR: #ffa500">//设置请求结束以后消失</span>
    <li><span style="COLOR: olive">}</span>
    <li><span style="COLOR: gray">&lt;</span><span style="COLOR: #8b0000">/</span><span style="COLOR: red">script&gt;</span></li>
</ol>
</div>
<p>就这么简单的几句，状态条功能就实现了。</p>
<p><strong>注意，如果从请求到获得数据的时间小于400毫秒的话，XAJAX默认不调用定义的函数，这主要是为了保证良好的效果。毕竟条一闪即逝没什么意思，还不如不显示。如果非得想要让用户看见，可以在PHP里面SLEEP(1) 一下，嘿嘿。</strong></p>
<p><strong>最后一个问题，使用了XAJAX以后鼠标箭头频繁闪动怎么办？</strong></p>
<p>这个问题一般出现需要频繁和后台沟通的情况下。比如我们定义每0.5秒请求一次服务器。这时候你会发现一个问题，就是鼠标箭头每隔0.5秒都会变成等待中（带个沙漏）的样子一下，闪的人心烦，并且让人产生页面一直都在刷新的可耻想法。</p>
<p>要解决这个问题非常的简单其实&#8230;&#8230;</p>
<p><strong>只要在实体化XAJAX以后加上一句话就可以了：</strong></p>
<div class=hl-surround>
<ol class="hl-main ln-show" ondblclick=linenumber(this) title="Double click to hide line number.">
    <li class=hl-firstline><span style="COLOR: #00008b">$xajax</span><span style="COLOR: gray">-&gt;</span><span style="COLOR: blue">waitCursorOff</span><span style="COLOR: olive">()</span><span style="COLOR: gray">;</span> </li>
</ol>
</div>
<p>这样就可以避免鼠标闪动了。</p>
<p>基本就是这些吧，希望大家可以有所启发。没事的时候可以多看看他的代码，会发掘出更多高级的功能~~~这里就不说了，太多了。</p>
<p>下面是完成后的效果演示：</p>
<p><a title=初始界面 href="http://blog.zoneker.com/wp-content/uploads/2007/08/ori.JPG"><br><img alt=初始界面 src="http://blog.zoneker.com/wp-content/uploads/2007/08/ori.JPG"></a></p>
<p><a title=请求数据中 href="http://blog.zoneker.com/wp-content/uploads/2007/08/cli.JPG"><br><img alt=请求数据中 src="http://blog.zoneker.com/wp-content/uploads/2007/08/cli.JPG"></a></p>
<p><a title=AJAX填充数据 href="http://blog.zoneker.com/wp-content/uploads/2007/08/don.JPG"><br><img alt=AJAX填充数据 src="http://blog.zoneker.com/wp-content/uploads/2007/08/don.JPG"></a></p>
</strong>
<div></div>
</div>
<img src ="http://www.phpweblog.net/fuyongjie/aggbug/2328.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.phpweblog.net/fuyongjie/" target="_blank">besthost</a> 2007-11-17 10:26 <a href="http://www.phpweblog.net/fuyongjie/articles/2328.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>