📄 day1_4.html
字号:
</tr>
<tr>
<td colspan="2">-<a href="../../1-teach/photoshop/index.html">Photoshop</a></td>
</tr>
<tr>
<td colspan="2">-<a href="../../1-teach/flash/page1.html">Flash</a></td>
</tr>
<tr>
<td colspan="2">-<a href="../../1-teach/asp/index.html">ASP</a></td>
</tr>
<tr>
<td colspan="2">-<a href="../../1-teach/php/index.html">PHP</a></td>
</tr>
<tr>
<td colspan="2">-<a href="../../1-teach/java/index.htm">Java</a></td>
</tr>
<tr>
<td colspan="2">-<a href="../../1-teach/vb/index.htm">VB</a></td>
</tr>
<tr>
<td colspan="2">-<a href="../../1-teach/c/index.htm">C、C++</a></td>
</tr>
<tr>
<td colspan="2">-<a href="../../1-backend/database/php_mysql/index.html">PHP/MySQL</a></td>
</tr>
<tr>
<td colspan="2"><a href="../../1-backend/cgi_perl/perl_beginner/index.html">-Perl</a>
</td>
</tr>
<tr>
<td colspan="2">-<a href="../../1-teach/other/index.htm">其它</a> </td>
</tr>
<tr>
<td colspan="2" bgcolor="#666699">
<div align="center"><font color="#FFFFFF">更多教程</font></div>
</td>
</tr>
<tr>
<td colspan="2" height="17"><a href="../../1hdml/index.html">-HDML</a></td>
</tr>
<tr>
<td colspan="2" height="23"><font face="宋体"><a href="../../1-backend/database/course/day1_1.html">-网络数据库</a></font></td>
</tr>
<tr>
<td colspan="2" height="14"><a href="../../1-backend/protocols/ping/index.html"><font face="arial, helvetica, sans-serif">Ping</font></a></td>
</tr>
<tr>
<td colspan="2" height="20"><a href="../../1-backend/cgi_perl/search_engine/index.html">-创建搜索引擎</a></td>
</tr>
<tr>
<td colspan="2" height="16">-<a href="../../1adobe/GoLive/index.html">Adobe GoLive</a></td>
</tr>
<tr>
<td colspan="2"><a href="../../1-backend/cgi_perl/templates/index.html">模板</a></td>
</tr>
<tr>
<td colspan="2" align="center" bgcolor="#666699"><font color="#FFFFFF">合作伙伴</font></td>
</tr>
<tr>
<td colspan="2" align="left">-<a href="http://www.5dmedia.com/" target="_blank">5D精英网</a></td>
</tr>
<tr align="center">
<td colspan="2"> <img src="../../Library/front_monkey.gif" width="59" height="68"></td>
</tr>
</tbody>
</table>
<br><!-- #EndLibraryItem --></td>
<!-- End of headlines (column 1: left column) --> <!-- Gutter between columns 1 and 2 -->
<td width="10" height="794"><img src="http://www.sohu.com/images/pixel.gif" width=10></td>
<!-- Search box and directories (columns 2 and 3: middle columns, combined into one) -->
<td align=center valign=top width="558">
<div align="left"><!-- #BeginEditable "1" -->
<title>用WDDX交换数据</title>
用WDDX交换数据<a href="mailto:whovind@web-sters.com">Wade
Hovind</a>
<p> <b>第四页 在JavaScript中调用WDDX</b></p>
<p><font size="3">使用<font face="helvetica, arial, sans-serif">WDDX</font>的一种方法是设置一个机器人(robot),它在被请求后不以<font
face="helvetica, arial, sans-serif">HTML</font>方式进行反应,而是代之以发送<font
face="helvetica, arial, sans-serif">WDDX</font>信息包。如果我要设置一个机器人与数据库相连并且在信息包中提取数据,那么我能在客户端使用<font
face="helvetica, arial, sans-serif">JavaScript</font>来利用deserialize(非连续化)的信息包。我假定有一种方法可以在客户端使用数据,谢天谢地,我的假定是正确的。当你把<font
face="helvetica, arial, sans-serif">WDDX</font>信息包转化为<font
face="helvetica, arial, sans-serif">JavaScript</font>对象时,你有几种方法来读取并改变数据单元,也可以向记录集合中增加行或列。</font></p>
<font size="3">
<p> <font
face="helvetica, arial, sans-serif"></font>我有一个游戏计划。我将创建一个完全利用<font
face="verdana, arial, geneva, sans-serif">JavaScript</font>编写的离线数据浏览应用程序。然后我用<font
face="verdana, arial, geneva, sans-serif">ColdFusion</font>编写几个机器人来服务以及向数据库提交数据。同时我还需要将那个<font
face="verdana, arial, geneva, sans-serif">WDDX</font>信息包转化为一个能够在客户端用来控制数据的<font
face="verdana, arial, geneva, sans-serif">JavaScript</font>记录集合对象。记录集合不是<font
face="verdana, arial, geneva, sans-serif">JavaScript</font>自身带来的,但它是<font
face="verdana, arial, geneva, sans-serif">WDDX</font>的<font
face="verdana, arial, geneva, sans-serif">JavaScript</font>操作的一部分。当你从<font
face="helvetica, arial, sans-serif"><a href="http://www.wddx.org/" target="_blank">WDDX.org</a></font>中得到<font
face="helvetica, arial, sans-serif">WDDX SDK</font>时,你会发现一个名符其实的为<font
face="helvetica, arial, sans-serif">wddx.js</font>的文件。</p>
<p> <font
face="verdana, arial, geneva, sans-serif"></font>使用相同的<font face="verdana, arial, geneva, sans-serif">CFWDDX</font>标签,我可以使用动作(<font
face="verdana, arial, geneva, sans-serif">ACTION</font>)<font
face="verdana, arial, geneva, sans-serif">WDDX2JS</font>来生成所有的那些烦人的<font
face="verdana, arial, geneva, sans-serif">JavaScript</font>代码。我不想把我的数据分配到各种<font
face="verdana, arial, geneva, sans-serif">WEB</font>服务器上,但是我如果想这么做的话,我决定自己书写代码。<font
face="verdana, arial, geneva, sans-serif">ColdFusion</font>允许你产生一个<font
face="verdana, arial, geneva, sans-serif">HTTP</font>请求并且将结果存为一个变量,<font
face="verdana, arial, geneva, sans-serif">ColdFusion</font>会将其转化为我能够使用的对象。在<font
face="verdana, arial, geneva, sans-serif">HTTP</font>之后,我加入了如下代码:</p>
</font>
<blockquote>
<pre>
<font size="3">
<font
face="verdana, arial, geneva, sans-serif"></font></font><font size="2">
</font><font face="verdana, arial, geneva, sans-serif"
size="2"><SCRIPT LANGUAGE="JavaScript">
<CFWDDX
INPUT="#CFHTTP.FileContent#"
TOPLEVELVARIABLE="myRecordSet"
ACTION="WDDX2JS">
</SCRIPT>
</font></pre>
</blockquote>
<p> <font face="verdana, arial, geneva, sans-serif"
size="2"></font><font size="3">这里〈<font face="verdana, arial, geneva, sans-serif">SCRIPT</font>〉标签十分重要,因为来自于标签的输出是<font
face="verdana, arial, geneva, sans-serif">JavaScript</font>代码。<tt><font
face="verdana, arial, geneva, sans-serif">TOPLEVELVARIABLE</font>被设定为我可以使用的记录集合<font
face="verdana, arial, geneva, sans-serif">WddxRecordSet</font>。</tt></font></p>
<font size="3">
<p> <font
face="verdana, arial, geneva, sans-serif"></font>我还想跟踪变化,因此我往记录集合中加入了几个列以便在记录变化、增加或删除时能够通知我。这是<font
face="verdana, arial, geneva, sans-serif">JavaScript</font>片段:</p>
</font>
<blockquote>
<pre>
<font size="3">
<font
face="verdana, arial, geneva, sans-serif"></font></font><font size="2">
</font><font face="verdana, arial, geneva, sans-serif"
size="2">myRecordSet.addColumn("Changed");
for(i=0;i<myRecordSet.getRowCount();i++)
myRecordSet.Changed[i] = false;
myRecordSet.addColumn("New");
for(i=0;i<myRecordSet.getRowCount();i++)
myRecordSet.Changed[i] = false;
myRecordSet.addColumn("Deleted");
for(i=0;i<myRecordSet.getRowCount();i++)
myRecordSet.Deleted[i] = false;
</font></pre>
</blockquote>
<p> <font face="helvetica, arial, sans-serif" size="2"></font><font size="3">在适当的位置使用这段代码,我可以编写一个机器人来正确地处理返回的数据。它将检查变化的、新增的及被删除的列的数值来决定是否需要更新、插入和删除。</font></p>
<p><font size="3">我应该提请注意的是:你可以提取<font
face="helvetica, arial, sans-serif">WDDX</font>信息包并将之转化为<font
face="helvetica, arial, sans-serif">JavaScript</font>对象,而不必使用<font
face="helvetica, arial, sans-serif">ColdFusion</font>或是其它任何服务器端的程序。<font
face="helvetica, arial, sans-serif">WDDX</font>主要推广人员之一的<font
face="verdana, arial, geneva, sans-serif">Nate Weiss</font>,已经出版了一本<font
face="verdana, arial, geneva, sans-serif">JavaScript</font>deserialize(反连续化)程序。你可能会问为什么这么做?我们假定你有一个<font
face="verdana, arial, geneva, sans-serif">ISP</font>商提供的主页。如果你想引用一些<font
face="verdana, arial, geneva, sans-serif">WDDX</font>机器人返回的信息,你可以在客户端进行所有这些的事务处理。</font></p>
<p><b>用WDDX交换数据</b><br>
<font color="#FF0000">第一页</font> <a href="index.html">一个不可能实现的梦想</a><br>
<font color="#FF0000">第二页</font> <a href="day1_2.html">WDDX之前的生活</a><br>
<font color="#FF0000">第三页</font> <a href="day1_3.html">WDDX终于来了</a><br>
<font color="#FF0000">第四页</font> 在JavaScript中调用WDDX</p>
<p>[第1天][<a href="day2_1.html">第2天</a>]</p>
<!-- #EndEditable --></div>
</td>
<!-- End of search box and directories (columns 2 and 3: middle columns, combined into one) -->
<!-- Gutter between columns 3 and 4 --> <!-- Other stuff (column 4: right column) -->
<!-- End of other stuff (column 4: right column) --> </tr>
</table>
<!-- End of table surrounding page contents -->
<hr noshade size=1 width=700>
<span class=eng><br>
Copyright (C) 1998-2000 Internet Technologies China. All rights reserved.
</span>
</center>
</body>
<!-- #EndTemplate --></html>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -