﻿<?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>BlogJava-welkin的技术薄-文章分类-Ajax</title><link>http://www.blogjava.net/welkinwwl/category/29475.html</link><description>做一个务实的人会让你学到的更多</description><language>zh-cn</language><lastBuildDate>Mon, 18 Feb 2008 16:14:57 GMT</lastBuildDate><pubDate>Mon, 18 Feb 2008 16:14:57 GMT</pubDate><ttl>60</ttl><item><title>使用JSON做Ajax通讯载体</title><link>http://www.blogjava.net/welkinwwl/articles/ajax.html</link><dc:creator>welkin</dc:creator><author>welkin</author><pubDate>Sat, 16 Feb 2008 14:01:00 GMT</pubDate><guid>http://www.blogjava.net/welkinwwl/articles/ajax.html</guid><wfw:comment>http://www.blogjava.net/welkinwwl/comments/180210.html</wfw:comment><comments>http://www.blogjava.net/welkinwwl/articles/ajax.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/welkinwwl/comments/commentRss/180210.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/welkinwwl/services/trackbacks/180210.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp;您可能已经习惯使用XML作为Ajax的通讯载体，XML这种标签的格式看起来也很舒服，但是当您用responseXML接收到服务器端大量的XML数据时，您可能还要再打开一个预先写好xml通讯数据的记事本，一边看着文本一边对应着格式来解析xml数据，这样的工作让你感到厌烦？厌倦了文本解析工作的您一定会这样想，如果后台能返回给我一个对象，同时这个对象已将我需要的数据封装在里面，那该有多好啊！是啊，JSON就是为此而诞生的！当您前台通过Ajax和后台交互得到了JSON格式的文本之后，您只需eval一次这个文本就能得到这样的对象了！<br />
&nbsp;&nbsp;&nbsp;&nbsp;我们直接看代码好了，我认为代码会比语言讲述的更加直观明了:)<br />
一个用户登陆的例子：<br />
我们先为项目添加一个myjs.js文件,内容如下：<br />
<div style="border-right: #cccccc 1px solid; padding-right: 5px; border-top: #cccccc 1px solid; padding-left: 4px; font-size: 13px; padding-bottom: 4px; border-left: #cccccc 1px solid; width: 98%; word-break: break-all; padding-top: 4px; border-bottom: #cccccc 1px solid; background-color: #eeeeee"><img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /><span style="color: #0000ff">var</span><span style="color: #000000">&nbsp;XMLHttpReq&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">false</span><span style="color: #000000">;<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000">//</span><span style="color: #008000">创建XMLHttpRequest对象&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000"><br />
<img id="Codehighlighter1_85_472_Open_Image" onclick="this.style.display='none'; Codehighlighter1_85_472_Open_Text.style.display='none'; Codehighlighter1_85_472_Closed_Image.style.display='inline'; Codehighlighter1_85_472_Closed_Text.style.display='inline';" alt="" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockStart.gif" align="top" /><img id="Codehighlighter1_85_472_Closed_Image" style="display: none" onclick="this.style.display='none'; Codehighlighter1_85_472_Closed_Text.style.display='none'; Codehighlighter1_85_472_Open_Image.style.display='inline'; Codehighlighter1_85_472_Open_Text.style.display='inline';" alt="" src="http://www.blogjava.net/images/OutliningIndicators/ContractedBlock.gif" align="top" /></span><span style="color: #0000ff">function</span><span style="color: #000000">&nbsp;createXMLHttpRequest()</span><span id="Codehighlighter1_85_472_Closed_Text" style="border-right: #808080 1px solid; border-top: #808080 1px solid; display: none; border-left: #808080 1px solid; border-bottom: #808080 1px solid; background-color: #ffffff"><img alt="" src="http://www.blogjava.net/Images/dot.gif" /></span><span id="Codehighlighter1_85_472_Open_Text"><span style="color: #000000">{<br />
<img id="Codehighlighter1_115_245_Open_Image" onclick="this.style.display='none'; Codehighlighter1_115_245_Open_Text.style.display='none'; Codehighlighter1_115_245_Closed_Image.style.display='inline'; Codehighlighter1_115_245_Closed_Text.style.display='inline';" alt="" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" /><img id="Codehighlighter1_115_245_Closed_Image" style="display: none" onclick="this.style.display='none'; Codehighlighter1_115_245_Closed_Text.style.display='none'; Codehighlighter1_115_245_Open_Image.style.display='inline'; Codehighlighter1_115_245_Open_Text.style.display='inline';" alt="" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">if</span><span style="color: #000000">(window.XMLHttpRequest)&nbsp;</span><span id="Codehighlighter1_115_245_Closed_Text" style="border-right: #808080 1px solid; border-top: #808080 1px solid; display: none; border-left: #808080 1px solid; border-bottom: #808080 1px solid; background-color: #ffffff"><img alt="" src="http://www.blogjava.net/Images/dot.gif" /></span><span id="Codehighlighter1_115_245_Open_Text"><span style="color: #000000">{&nbsp;</span><span style="color: #008000">//</span><span style="color: #008000">检测是否为Mozilla浏览器</span><span style="color: #008000"><br />
<img id="Codehighlighter1_165_231_Open_Image" onclick="this.style.display='none'; Codehighlighter1_165_231_Open_Text.style.display='none'; Codehighlighter1_165_231_Closed_Image.style.display='inline'; Codehighlighter1_165_231_Closed_Text.style.display='inline';" alt="" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" /><img id="Codehighlighter1_165_231_Closed_Image" style="display: none" onclick="this.style.display='none'; Codehighlighter1_165_231_Closed_Text.style.display='none'; Codehighlighter1_165_231_Open_Image.style.display='inline'; Codehighlighter1_165_231_Open_Text.style.display='inline';" alt="" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif" align="top" /></span><span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">try</span><span id="Codehighlighter1_165_231_Closed_Text" style="border-right: #808080 1px solid; border-top: #808080 1px solid; display: none; border-left: #808080 1px solid; border-bottom: #808080 1px solid; background-color: #ffffff"><img alt="" src="http://www.blogjava.net/Images/dot.gif" /></span><span id="Codehighlighter1_165_231_Open_Text"><span style="color: #000000">{<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;XMLHttpReq&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">new</span><span style="color: #000000">&nbsp;XMLHttpRequest();<br />
<img id="Codehighlighter1_240_241_Open_Image" onclick="this.style.display='none'; Codehighlighter1_240_241_Open_Text.style.display='none'; Codehighlighter1_240_241_Closed_Image.style.display='inline'; Codehighlighter1_240_241_Closed_Text.style.display='inline';" alt="" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" /><img id="Codehighlighter1_240_241_Closed_Image" style="display: none" onclick="this.style.display='none'; Codehighlighter1_240_241_Closed_Text.style.display='none'; Codehighlighter1_240_241_Open_Image.style.display='inline'; Codehighlighter1_240_241_Open_Text.style.display='inline';" alt="" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="color: #0000ff">catch</span><span style="color: #000000">(e)</span><span id="Codehighlighter1_240_241_Closed_Text" style="border-right: #808080 1px solid; border-top: #808080 1px solid; display: none; border-left: #808080 1px solid; border-bottom: #808080 1px solid; background-color: #ffffff"><img alt="" src="http://www.blogjava.net/Images/dot.gif" /></span><span id="Codehighlighter1_240_241_Open_Text"><span style="color: #000000">{}</span></span><span style="color: #000000"><br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="color: #000000"><br />
<img id="Codehighlighter1_280_469_Open_Image" onclick="this.style.display='none'; Codehighlighter1_280_469_Open_Text.style.display='none'; Codehighlighter1_280_469_Closed_Image.style.display='inline'; Codehighlighter1_280_469_Closed_Text.style.display='inline';" alt="" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" /><img id="Codehighlighter1_280_469_Closed_Image" style="display: none" onclick="this.style.display='none'; Codehighlighter1_280_469_Closed_Text.style.display='none'; Codehighlighter1_280_469_Open_Image.style.display='inline'; Codehighlighter1_280_469_Open_Text.style.display='inline';" alt="" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">else</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">if</span><span style="color: #000000">&nbsp;(window.ActiveXObject)&nbsp;</span><span id="Codehighlighter1_280_469_Closed_Text" style="border-right: #808080 1px solid; border-top: #808080 1px solid; display: none; border-left: #808080 1px solid; border-bottom: #808080 1px solid; background-color: #ffffff"><img alt="" src="http://www.blogjava.net/Images/dot.gif" /></span><span id="Codehighlighter1_280_469_Open_Text"><span style="color: #000000">{&nbsp;</span><span style="color: #008000">//</span><span style="color: #008000">检测是否为IE浏览器</span><span style="color: #008000"><br />
<img id="Codehighlighter1_302_361_Open_Image" onclick="this.style.display='none'; Codehighlighter1_302_361_Open_Text.style.display='none'; Codehighlighter1_302_361_Closed_Image.style.display='inline'; Codehighlighter1_302_361_Closed_Text.style.display='inline';" alt="" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" /><img id="Codehighlighter1_302_361_Closed_Image" style="display: none" onclick="this.style.display='none'; Codehighlighter1_302_361_Closed_Text.style.display='none'; Codehighlighter1_302_361_Open_Image.style.display='inline'; Codehighlighter1_302_361_Open_Text.style.display='inline';" alt="" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif" align="top" /></span><span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">try</span><span style="color: #000000">&nbsp;</span><span id="Codehighlighter1_302_361_Closed_Text" style="border-right: #808080 1px solid; border-top: #808080 1px solid; display: none; border-left: #808080 1px solid; border-bottom: #808080 1px solid; background-color: #ffffff"><img alt="" src="http://www.blogjava.net/Images/dot.gif" /></span><span id="Codehighlighter1_302_361_Open_Text"><span style="color: #000000">{<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;XMLHttpReq&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">new</span><span style="color: #000000">&nbsp;ActiveXObject(</span><span style="color: #000000">"</span><span style="color: #000000">Msxml2.XMLHTTP</span><span style="color: #000000">"</span><span style="color: #000000">);<br />
<img id="Codehighlighter1_373_465_Open_Image" onclick="this.style.display='none'; Codehighlighter1_373_465_Open_Text.style.display='none'; Codehighlighter1_373_465_Closed_Image.style.display='inline'; Codehighlighter1_373_465_Closed_Text.style.display='inline';" alt="" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" /><img id="Codehighlighter1_373_465_Closed_Image" style="display: none" onclick="this.style.display='none'; Codehighlighter1_373_465_Closed_Text.style.display='none'; Codehighlighter1_373_465_Open_Image.style.display='inline'; Codehighlighter1_373_465_Open_Text.style.display='inline';" alt="" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">catch</span><span style="color: #000000">&nbsp;(e)&nbsp;</span><span id="Codehighlighter1_373_465_Closed_Text" style="border-right: #808080 1px solid; border-top: #808080 1px solid; display: none; border-left: #808080 1px solid; border-bottom: #808080 1px solid; background-color: #ffffff"><img alt="" src="http://www.blogjava.net/Images/dot.gif" /></span><span id="Codehighlighter1_373_465_Open_Text"><span style="color: #000000">{<br />
<img id="Codehighlighter1_383_447_Open_Image" onclick="this.style.display='none'; Codehighlighter1_383_447_Open_Text.style.display='none'; Codehighlighter1_383_447_Closed_Image.style.display='inline'; Codehighlighter1_383_447_Closed_Text.style.display='inline';" alt="" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" /><img id="Codehighlighter1_383_447_Closed_Image" style="display: none" onclick="this.style.display='none'; Codehighlighter1_383_447_Closed_Text.style.display='none'; Codehighlighter1_383_447_Open_Image.style.display='inline'; Codehighlighter1_383_447_Open_Text.style.display='inline';" alt="" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">try</span><span style="color: #000000">&nbsp;</span><span id="Codehighlighter1_383_447_Closed_Text" style="border-right: #808080 1px solid; border-top: #808080 1px solid; display: none; border-left: #808080 1px solid; border-bottom: #808080 1px solid; background-color: #ffffff"><img alt="" src="http://www.blogjava.net/Images/dot.gif" /></span><span id="Codehighlighter1_383_447_Open_Text"><span style="color: #000000">{<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;XMLHttpReq&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">new</span><span style="color: #000000">&nbsp;ActiveXObject(</span><span style="color: #000000">"</span><span style="color: #000000">Microsoft.XMLHTTP</span><span style="color: #000000">"</span><span style="color: #000000">);<br />
<img id="Codehighlighter1_459_460_Open_Image" onclick="this.style.display='none'; Codehighlighter1_459_460_Open_Text.style.display='none'; Codehighlighter1_459_460_Closed_Image.style.display='inline'; Codehighlighter1_459_460_Closed_Text.style.display='inline';" alt="" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" /><img id="Codehighlighter1_459_460_Closed_Image" style="display: none" onclick="this.style.display='none'; Codehighlighter1_459_460_Closed_Text.style.display='none'; Codehighlighter1_459_460_Open_Image.style.display='inline'; Codehighlighter1_459_460_Open_Text.style.display='inline';" alt="" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">catch</span><span style="color: #000000">&nbsp;(e)&nbsp;</span><span id="Codehighlighter1_459_460_Closed_Text" style="border-right: #808080 1px solid; border-top: #808080 1px solid; display: none; border-left: #808080 1px solid; border-bottom: #808080 1px solid; background-color: #ffffff"><img alt="" src="http://www.blogjava.net/Images/dot.gif" /></span><span id="Codehighlighter1_459_460_Open_Text"><span style="color: #000000">{}</span></span><span style="color: #000000"><br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="color: #000000"><br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="color: #000000"><br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockEnd.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="color: #000000"><br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000">//</span><span style="color: #008000">发送请求方法</span><span style="color: #008000"><br />
<img id="Codehighlighter1_511_672_Open_Image" onclick="this.style.display='none'; Codehighlighter1_511_672_Open_Text.style.display='none'; Codehighlighter1_511_672_Closed_Image.style.display='inline'; Codehighlighter1_511_672_Closed_Text.style.display='inline';" alt="" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockStart.gif" align="top" /><img id="Codehighlighter1_511_672_Closed_Image" style="display: none" onclick="this.style.display='none'; Codehighlighter1_511_672_Closed_Text.style.display='none'; Codehighlighter1_511_672_Open_Image.style.display='inline'; Codehighlighter1_511_672_Open_Text.style.display='inline';" alt="" src="http://www.blogjava.net/images/OutliningIndicators/ContractedBlock.gif" align="top" /></span><span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">function</span><span style="color: #000000">&nbsp;sendRequest(url)&nbsp;</span><span id="Codehighlighter1_511_672_Closed_Text" style="border-right: #808080 1px solid; border-top: #808080 1px solid; display: none; border-left: #808080 1px solid; border-bottom: #808080 1px solid; background-color: #ffffff"><img alt="" src="http://www.blogjava.net/Images/dot.gif" /></span><span id="Codehighlighter1_511_672_Open_Text"><span style="color: #000000">{<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;createXMLHttpRequest();<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;XMLHttpReq.open(</span><span style="color: #000000">"</span><span style="color: #000000">GET</span><span style="color: #000000">"</span><span style="color: #000000">,&nbsp;url,&nbsp;</span><span style="color: #0000ff">true</span><span style="color: #000000">);<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;XMLHttpReq.onreadystatechange&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;processResponse;</span><span style="color: #008000">//</span><span style="color: #008000">指定响应处理函数</span><span style="color: #008000"><br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" /></span><span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;XMLHttpReq.send(</span><span style="color: #0000ff">null</span><span style="color: #000000">);&nbsp;&nbsp;</span><span style="color: #008000">//</span><span style="color: #008000">&nbsp;发送请求</span><span style="color: #008000"><br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockEnd.gif" align="top" /></span><span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="color: #000000"><br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000">//</span><span style="color: #008000">&nbsp;处理返回信息函数</span><span style="color: #008000"><br />
<img id="Codehighlighter1_718_1073_Open_Image" onclick="this.style.display='none'; Codehighlighter1_718_1073_Open_Text.style.display='none'; Codehighlighter1_718_1073_Closed_Image.style.display='inline'; Codehighlighter1_718_1073_Closed_Text.style.display='inline';" alt="" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockStart.gif" align="top" /><img id="Codehighlighter1_718_1073_Closed_Image" style="display: none" onclick="this.style.display='none'; Codehighlighter1_718_1073_Closed_Text.style.display='none'; Codehighlighter1_718_1073_Open_Image.style.display='inline'; Codehighlighter1_718_1073_Open_Text.style.display='inline';" alt="" src="http://www.blogjava.net/images/OutliningIndicators/ContractedBlock.gif" align="top" /></span><span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">function</span><span style="color: #000000">&nbsp;processResponse()&nbsp;</span><span id="Codehighlighter1_718_1073_Closed_Text" style="border-right: #808080 1px solid; border-top: #808080 1px solid; display: none; border-left: #808080 1px solid; border-bottom: #808080 1px solid; background-color: #ffffff"><img alt="" src="http://www.blogjava.net/Images/dot.gif" /></span><span id="Codehighlighter1_718_1073_Open_Text"><span style="color: #000000">{<br />
<img id="Codehighlighter1_757_1071_Open_Image" onclick="this.style.display='none'; Codehighlighter1_757_1071_Open_Text.style.display='none'; Codehighlighter1_757_1071_Closed_Image.style.display='inline'; Codehighlighter1_757_1071_Closed_Text.style.display='inline';" alt="" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" /><img id="Codehighlighter1_757_1071_Closed_Image" style="display: none" onclick="this.style.display='none'; Codehighlighter1_757_1071_Closed_Text.style.display='none'; Codehighlighter1_757_1071_Open_Image.style.display='inline'; Codehighlighter1_757_1071_Open_Text.style.display='inline';" alt="" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">if</span><span style="color: #000000">&nbsp;(XMLHttpReq.readyState&nbsp;</span><span style="color: #000000">==</span><span style="color: #000000">&nbsp;</span><span style="color: #000000">4</span><span style="color: #000000">)&nbsp;</span><span id="Codehighlighter1_757_1071_Closed_Text" style="border-right: #808080 1px solid; border-top: #808080 1px solid; display: none; border-left: #808080 1px solid; border-bottom: #808080 1px solid; background-color: #ffffff"><img alt="" src="http://www.blogjava.net/Images/dot.gif" /></span><span id="Codehighlighter1_757_1071_Open_Text"><span style="color: #000000">{&nbsp;</span><span style="color: #008000">//</span><span style="color: #008000">&nbsp;判断XMLHttpRequest对象是否已成功接收数据</span><span style="color: #008000"><br />
<img id="Codehighlighter1_829_994_Open_Image" onclick="this.style.display='none'; Codehighlighter1_829_994_Open_Text.style.display='none'; Codehighlighter1_829_994_Closed_Image.style.display='inline'; Codehighlighter1_829_994_Closed_Text.style.display='inline';" alt="" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" /><img id="Codehighlighter1_829_994_Closed_Image" style="display: none" onclick="this.style.display='none'; Codehighlighter1_829_994_Closed_Text.style.display='none'; Codehighlighter1_829_994_Open_Image.style.display='inline'; Codehighlighter1_829_994_Open_Text.style.display='inline';" alt="" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif" align="top" /></span><span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">if</span><span style="color: #000000">&nbsp;(XMLHttpReq.status&nbsp;</span><span style="color: #000000">==</span><span style="color: #000000">&nbsp;</span><span style="color: #000000">200</span><span style="color: #000000">)&nbsp;</span><span id="Codehighlighter1_829_994_Closed_Text" style="border-right: #808080 1px solid; border-top: #808080 1px solid; display: none; border-left: #808080 1px solid; border-bottom: #808080 1px solid; background-color: #ffffff"><img alt="" src="http://www.blogjava.net/Images/dot.gif" /></span><span id="Codehighlighter1_829_994_Open_Text"><span style="color: #000000">{&nbsp;</span><span style="color: #008000">//</span><span style="color: #008000">&nbsp;请求成功</span><span style="color: #008000"><br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" /></span><span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; loginCallback();&nbsp;&nbsp;&nbsp;&nbsp; <span style="color: #008000">//调用处理函数</span></span><span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />
<img id="Codehighlighter1_1001_1061_Open_Image" onclick="this.style.display='none'; Codehighlighter1_1001_1061_Open_Text.style.display='none'; Codehighlighter1_1001_1061_Closed_Image.style.display='inline'; Codehighlighter1_1001_1061_Closed_Text.style.display='inline';" alt="" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" /><img id="Codehighlighter1_1001_1061_Closed_Image" style="display: none" onclick="this.style.display='none'; Codehighlighter1_1001_1061_Closed_Text.style.display='none'; Codehighlighter1_1001_1061_Open_Image.style.display='inline'; Codehighlighter1_1001_1061_Open_Text.style.display='inline';" alt="" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">else</span><span style="color: #000000">&nbsp;</span><span id="Codehighlighter1_1001_1061_Closed_Text" style="border-right: #808080 1px solid; border-top: #808080 1px solid; display: none; border-left: #808080 1px solid; border-bottom: #808080 1px solid; background-color: #ffffff"><img alt="" src="http://www.blogjava.net/Images/dot.gif" /></span><span id="Codehighlighter1_1001_1061_Open_Text"><span style="color: #000000">{&nbsp;</span><span style="color: #008000">//</span><span style="color: #008000">页面异常</span><span style="color: #008000"><br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" /></span><span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;window.alert(</span><span style="color: #000000">"</span><span style="color: #000000">页面有错误</span><span style="color: #000000">"</span><span style="color: #000000">);<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="color: #000000"><br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="color: #000000"><br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockEnd.gif" align="top" />}</span></span><span style="color: #000000"><br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /></span></div>
&nbsp;&nbsp;&nbsp;&nbsp;myjs.js这个文件已经为我们完成了建立Ajax通讯的基本工作。<br />
我们再新建一个登陆页面<br />
<div style="border-right: #cccccc 1px solid; padding-right: 5px; border-top: #cccccc 1px solid; padding-left: 4px; font-size: 13px; padding-bottom: 4px; border-left: #cccccc 1px solid; width: 98%; word-break: break-all; padding-top: 4px; border-bottom: #cccccc 1px solid; background-color: #eeeeee"><img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /><span style="color: #0000ff">&lt;</span><span style="color: #800000">html</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /></span><span style="color: #0000ff">&lt;</span><span style="color: #800000">head</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /></span><span style="color: #0000ff">&lt;</span><span style="color: #800000">script&nbsp;</span><span style="color: #ff0000">type</span><span style="color: #0000ff">="text/javascript"</span><span style="color: #ff0000">&nbsp;src</span><span style="color: #0000ff">="myjs.js"</span><span style="color: #0000ff">&gt;&lt;/</span><span style="color: #800000">script</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /></span><span style="color: #0000ff">&lt;</span><span style="color: #800000">script&nbsp;</span><span style="color: #ff0000">type</span><span style="color: #0000ff">="text/javascript"</span><span style="color: #ff0000">&nbsp;src</span><span style="color: #0000ff">="login.js"</span><span style="color: #0000ff">&gt;&lt;/</span><span style="color: #800000">script</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /></span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">head</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /></span><span style="color: #0000ff">&lt;</span><span style="color: #800000">body</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /></span><span style="color: #0000ff">&lt;</span><span style="color: #800000">form</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />用户名：</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">input&nbsp;</span><span style="color: #ff0000">type</span><span style="color: #0000ff">="text"</span><span style="color: #ff0000">&nbsp;name</span><span style="color: #0000ff">="username"</span><span style="color: #ff0000">&nbsp;</span><span style="color: #0000ff">/&gt;&lt;</span><span style="color: #800000">br</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />密码：</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">input&nbsp;</span><span style="color: #ff0000">type</span><span style="color: #0000ff">="text"</span><span style="color: #ff0000">&nbsp;name</span><span style="color: #0000ff">="userpass"</span><span style="color: #ff0000">&nbsp;</span><span style="color: #0000ff">/&gt;&lt;</span><span style="color: #800000">br</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /></span><span style="color: #0000ff">&lt;</span><span style="color: #800000">input&nbsp;</span><span style="color: #ff0000">type</span><span style="color: #0000ff">="button"</span><span style="color: #ff0000">&nbsp;name</span><span style="color: #0000ff">="submit"</span><span style="color: #ff0000">&nbsp;value</span><span style="color: #0000ff">="登陆"</span><span style="color: #ff0000">&nbsp;onclick</span><span style="color: #0000ff">="login()"</span><span style="color: #ff0000">&nbsp;</span><span style="color: #0000ff">/&gt;</span><span style="color: #000000"><br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /></span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">form</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /></span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">body</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /></span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">html</span><span style="color: #0000ff">&gt;</span></div>
在页面引入的login.js是一会要创建的，用来处理用户登陆的细节<br />
<br />
为项目添加login.js<br />
<div style="border-right: #cccccc 1px solid; padding-right: 5px; border-top: #cccccc 1px solid; padding-left: 4px; font-size: 13px; padding-bottom: 4px; border-left: #cccccc 1px solid; width: 98%; word-break: break-all; padding-top: 4px; border-bottom: #cccccc 1px solid; background-color: #eeeeee"><img id="Codehighlighter1_16_284_Open_Image" onclick="this.style.display='none'; Codehighlighter1_16_284_Open_Text.style.display='none'; Codehighlighter1_16_284_Closed_Image.style.display='inline'; Codehighlighter1_16_284_Closed_Text.style.display='inline';" alt="" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockStart.gif" align="top" /><img id="Codehighlighter1_16_284_Closed_Image" style="display: none" onclick="this.style.display='none'; Codehighlighter1_16_284_Closed_Text.style.display='none'; Codehighlighter1_16_284_Open_Image.style.display='inline'; Codehighlighter1_16_284_Open_Text.style.display='inline';" alt="" src="http://www.blogjava.net/images/OutliningIndicators/ContractedBlock.gif" align="top" /><span style="color: #0000ff">function</span><span style="color: #000000">&nbsp;login()</span><span id="Codehighlighter1_16_284_Closed_Text" style="border-right: #808080 1px solid; border-top: #808080 1px solid; display: none; border-left: #808080 1px solid; border-bottom: #808080 1px solid; background-color: #ffffff"><img alt="" src="http://www.blogjava.net/Images/dot.gif" /></span><span id="Codehighlighter1_16_284_Open_Text"><span style="color: #000000">{&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000">//</span><span style="color: #008000">对用户登陆数据进行校验并发出Ajax请求</span><span style="color: #008000"><br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" /></span><span style="color: #000000">&nbsp;&nbsp;</span><span style="color: #0000ff">var</span><span style="color: #000000">&nbsp;username</span><span style="color: #000000">=</span><span style="color: #000000">document.forms[</span><span style="color: #000000">0</span><span style="color: #000000">].username.value;<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />&nbsp;&nbsp;</span><span style="color: #0000ff">var</span><span style="color: #000000">&nbsp;userpass</span><span style="color: #000000">=</span><span style="color: #000000">document.forms[</span><span style="color: #000000">0</span><span style="color: #000000">].userpass.value;<br />
<img id="Codehighlighter1_176_206_Open_Image" onclick="this.style.display='none'; Codehighlighter1_176_206_Open_Text.style.display='none'; Codehighlighter1_176_206_Closed_Image.style.display='inline'; Codehighlighter1_176_206_Closed_Text.style.display='inline';" alt="" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" /><img id="Codehighlighter1_176_206_Closed_Image" style="display: none" onclick="this.style.display='none'; Codehighlighter1_176_206_Closed_Text.style.display='none'; Codehighlighter1_176_206_Open_Image.style.display='inline'; Codehighlighter1_176_206_Open_Text.style.display='inline';" alt="" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif" align="top" />&nbsp;&nbsp;</span><span style="color: #0000ff">if</span><span style="color: #000000">(username</span><span style="color: #000000">==</span><span style="color: #000000">""</span><span style="color: #000000">||</span><span style="color: #000000">userpass</span><span style="color: #000000">==</span><span style="color: #000000">""</span><span style="color: #000000">)</span><span id="Codehighlighter1_176_206_Closed_Text" style="border-right: #808080 1px solid; border-top: #808080 1px solid; display: none; border-left: #808080 1px solid; border-bottom: #808080 1px solid; background-color: #ffffff"><img alt="" src="http://www.blogjava.net/Images/dot.gif" /></span><span id="Codehighlighter1_176_206_Open_Text"><span style="color: #000000">{<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;alert(</span><span style="color: #000000">"</span><span style="color: #000000">用户名或密码不得为空！</span><span style="color: #000000">"</span><span style="color: #000000">);<br />
<img id="Codehighlighter1_211_282_Open_Image" onclick="this.style.display='none'; Codehighlighter1_211_282_Open_Text.style.display='none'; Codehighlighter1_211_282_Closed_Image.style.display='inline'; Codehighlighter1_211_282_Closed_Text.style.display='inline';" alt="" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" /><img id="Codehighlighter1_211_282_Closed_Image" style="display: none" onclick="this.style.display='none'; Codehighlighter1_211_282_Closed_Text.style.display='none'; Codehighlighter1_211_282_Open_Image.style.display='inline'; Codehighlighter1_211_282_Open_Text.style.display='inline';" alt="" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif" align="top" />&nbsp;&nbsp;}</span></span><span style="color: #0000ff">else</span><span id="Codehighlighter1_211_282_Closed_Text" style="border-right: #808080 1px solid; border-top: #808080 1px solid; display: none; border-left: #808080 1px solid; border-bottom: #808080 1px solid; background-color: #ffffff"><img alt="" src="http://www.blogjava.net/Images/dot.gif" /></span><span id="Codehighlighter1_211_282_Open_Text"><span style="color: #000000">{<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;sendRequest(</span><span style="color: #000000">"</span><span style="color: #000000">login.jsp?username=</span><span style="color: #000000">"</span><span style="color: #000000">+</span><span style="color: #000000">username</span><span style="color: #000000">+</span><span style="color: #000000">"</span><span style="color: #000000">&amp;userpass=</span><span style="color: #000000">"</span><span style="color: #000000">+</span><span style="color: #000000">userpass);<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" />&nbsp;&nbsp;}</span></span><span style="color: #000000"><br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockEnd.gif" align="top" />}</span></span><span style="color: #000000"><br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /><br />
<img id="Codehighlighter1_311_392_Open_Image" onclick="this.style.display='none'; Codehighlighter1_311_392_Open_Text.style.display='none'; Codehighlighter1_311_392_Closed_Image.style.display='inline'; Codehighlighter1_311_392_Closed_Text.style.display='inline';" alt="" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockStart.gif" align="top" /><img id="Codehighlighter1_311_392_Closed_Image" style="display: none" onclick="this.style.display='none'; Codehighlighter1_311_392_Closed_Text.style.display='none'; Codehighlighter1_311_392_Open_Image.style.display='inline'; Codehighlighter1_311_392_Open_Text.style.display='inline';" alt="" src="http://www.blogjava.net/images/OutliningIndicators/ContractedBlock.gif" align="top" /></span><span style="color: #0000ff">function</span><span style="color: #000000">&nbsp;loginCallback()</span><span id="Codehighlighter1_311_392_Closed_Text" style="border-right: #808080 1px solid; border-top: #808080 1px solid; display: none; border-left: #808080 1px solid; border-bottom: #808080 1px solid; background-color: #ffffff"><img alt="" src="http://www.blogjava.net/Images/dot.gif" /></span><span id="Codehighlighter1_311_392_Open_Text"><span style="color: #000000">{&nbsp;&nbsp;</span><span style="color: #008000">//</span><span style="color: #008000">处理回调函数</span><span style="color: #008000"><br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" /></span><span style="color: #000000">&nbsp;&nbsp;</span><span style="color: #0000ff">var</span><span style="color: #000000">&nbsp;json</span><span style="color: #000000">=</span><span style="color: #000000">eval('('</span><span style="color: #000000">+</span><span style="color: #000000">XMLHttpReq.responseText</span><span style="color: #000000">+</span><span style="color: #000000">')');<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />&nbsp;&nbsp;alert(json.msg+"\n"+json.username+"\n"+json.userpass);<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockEnd.gif" align="top" />}</span></span></div>
当用户填写完登陆表单后，按下[登陆]按钮将触发login()方法，login()方法对用户的登陆数据进行校验后发送请求，后台接收并做处理后返回相关信息（稍候讲解后台如何处理），这时XMLHttpReq的onreadystatechange发生改变，调用我们指向的processResponse函数，函数确定数据请求成功后调用loginCallback回调函数。loginCallback中，通过responseText接收将信息数据的文本，这里注意：由于我们后台返回来的数据是JSON格式的，我们在前台希望得到的是一个JSON格式的对象，所以我们还需要执行一次eval函数将文本转化为对象，如果直接把reponseText赋值给变量json,json将会是一个string。<br />
下面我们要引入后台部分了，我们给项目来个jsp吧（我只会jsp - -|| ）<br />
添加login.jsp<br />
<div style="border-right: #cccccc 1px solid; padding-right: 5px; border-top: #cccccc 1px solid; padding-left: 4px; font-size: 13px; padding-bottom: 4px; border-left: #cccccc 1px solid; width: 98%; word-break: break-all; padding-top: 4px; border-bottom: #cccccc 1px solid; background-color: #eeeeee"><img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /><span style="color: #000000">&lt;%</span><span style="color: #000000"><br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />request.setCharacterEncoding(</span><span style="color: #000000">"</span><span style="color: #000000">utf-8</span><span style="color: #000000">"</span><span style="color: #000000">);<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />response.setContentType(</span><span style="color: #000000">"</span><span style="color: #000000">text/html</span><span style="color: #000000">"</span><span style="color: #000000">);<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />response.setCharacterEncoding(</span><span style="color: #000000">"</span><span style="color: #000000">utf-8</span><span style="color: #000000">"</span><span style="color: #000000">);<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />String&nbsp;username</span><span style="color: #000000">=</span><span style="color: #000000">request.getParameter(</span><span style="color: #000000">"</span><span style="color: #000000">username</span><span style="color: #000000">"</span><span style="color: #000000">);<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />String&nbsp;userpass</span><span style="color: #000000">=</span><span style="color: #000000">request.getParameter(</span><span style="color: #000000">"</span><span style="color: #000000">userpass</span><span style="color: #000000">"</span><span style="color: #000000">);<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /><br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />String&nbsp;message</span><span style="color: #000000">=</span><span style="color: #000000">""</span><span style="color: #000000">;<br />
<img id="Codehighlighter1_276_354_Open_Image" onclick="this.style.display='none'; Codehighlighter1_276_354_Open_Text.style.display='none'; Codehighlighter1_276_354_Closed_Image.style.display='inline'; Codehighlighter1_276_354_Closed_Text.style.display='inline';" alt="" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockStart.gif" align="top" /><img id="Codehighlighter1_276_354_Closed_Image" style="display: none" onclick="this.style.display='none'; Codehighlighter1_276_354_Closed_Text.style.display='none'; Codehighlighter1_276_354_Open_Image.style.display='inline'; Codehighlighter1_276_354_Open_Text.style.display='inline';" alt="" src="http://www.blogjava.net/images/OutliningIndicators/ContractedBlock.gif" align="top" /></span><span style="color: #0000ff">if</span><span style="color: #000000">(username</span><span style="color: #000000">==</span><span style="color: #000000">"</span><span style="color: #000000">tom</span><span style="color: #000000">"</span><span style="color: #000000">&amp;&amp;</span><span style="color: #000000">userpass</span><span style="color: #000000">==</span><span style="color: #000000">"</span><span style="color: #000000">123</span><span style="color: #000000">"</span><span style="color: #000000">)</span><span id="Codehighlighter1_276_354_Closed_Text" style="border-right: #808080 1px solid; border-top: #808080 1px solid; display: none; border-left: #808080 1px solid; border-bottom: #808080 1px solid; background-color: #ffffff"><img alt="" src="http://www.blogjava.net/Images/dot.gif" /></span><span id="Codehighlighter1_276_354_Open_Text"><span style="color: #000000">{&nbsp;message</span><span style="color: #000000">=</span><span style="color: #000000">"</span><span style="color: #000000">{msg:'success',username:'</span><span style="color: #000000">"</span><span style="color: #000000">+</span><span style="color: #000000">username</span><span style="color: #000000">+</span><span style="color: #000000">"</span><span style="color: #000000">',userpass:'</span><span style="color: #000000">"</span><span style="color: #000000">+</span><span style="color: #000000">userpass</span><span style="color: #000000">+</span><span style="color: #000000">"</span><span style="color: #000000">'}</span><span style="color: #000000">"</span><span style="color: #000000">&nbsp;;<br />
<img id="Codehighlighter1_359_436_Open_Image" onclick="this.style.display='none'; Codehighlighter1_359_436_Open_Text.style.display='none'; Codehighlighter1_359_436_Closed_Image.style.display='inline'; Codehighlighter1_359_436_Closed_Text.style.display='inline';" alt="" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockStart.gif" align="top" /><img id="Codehighlighter1_359_436_Closed_Image" style="display: none" onclick="this.style.display='none'; Codehighlighter1_359_436_Closed_Text.style.display='none'; Codehighlighter1_359_436_Open_Image.style.display='inline'; Codehighlighter1_359_436_Open_Text.style.display='inline';" alt="" src="http://www.blogjava.net/images/OutliningIndicators/ContractedBlock.gif" align="top" />}</span></span><span style="color: #0000ff">else</span><span id="Codehighlighter1_359_436_Closed_Text" style="border-right: #808080 1px solid; border-top: #808080 1px solid; display: none; border-left: #808080 1px solid; border-bottom: #808080 1px solid; background-color: #ffffff"><img alt="" src="http://www.blogjava.net/Images/dot.gif" /></span><span id="Codehighlighter1_359_436_Open_Text"><span style="color: #000000">{<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />message</span><span style="color: #000000">=</span><span style="color: #000000">"</span><span style="color: #000000">{msg:'failed',username:'</span><span style="color: #000000">"</span><span style="color: #000000">+</span><span style="color: #000000">username</span><span style="color: #000000">+</span><span style="color: #000000">"</span><span style="color: #000000">',userpass:'</span><span style="color: #000000">"</span><span style="color: #000000">+</span><span style="color: #000000">userpass</span><span style="color: #000000">+</span><span style="color: #000000">"</span><span style="color: #000000">'}</span><span style="color: #000000">"</span><span style="color: #000000">&nbsp;;<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockEnd.gif" align="top" />}</span></span><span style="color: #000000"><br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />out.print(message);<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />out.close();<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /></span><span style="color: #000000">%&gt;</span></div>
没啥好说的，注意一下JSON格式的写法就可以了，以"{"开头，"}"结尾，中间可以定义一些属性和方法,格式为"名称:值/方法体"。<br />
<br />
恩，我认为大功告成了:)<br />
<img src ="http://www.blogjava.net/welkinwwl/aggbug/180210.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/welkinwwl/" target="_blank">welkin</a> 2008-02-16 22:01 <a href="http://www.blogjava.net/welkinwwl/articles/ajax.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>