简单的Asp和AJAX应用

来源:互联网 发布:java集合类都有哪些 编辑:程序博客网 时间:2024/05/17 07:23

今天一个读者朋友问我:ASP可以实现AJAX 的吗?当然这是个相对来说比较菜鸟的问法,实际上,任何网站动态脚本语言都可以实现AJAX,因为AJAX本身是javascript上的概念,与所采用的动态脚本语言无关。于是我决定首先来讲讲ASP做一个AJAX的应用吧。

首先来讲,什么是AJAX呢,AJAX是一个所写,他的全称是Asynchronous JavaScript and XML ,这里面Asynchronous是“异步”的意思,所以AJAX就是“异步Javascript和XML”的简称。从名称我们可以清晰的看出,AJAX的核心在于Javascrip和XML,“异步”怎么讲呢,异步体现了一个动态请求的过程,这里我将他简单理解为,在网页下载完毕后,再通过Javascript向远端服务器发送某些信息并获得反馈的一种行为。

那么,AJAX究竟涉及哪些技术呢,首先,AJAX需要用到Javascript的xmlhttp组件来和服务器通讯,其次,需要了解通过XMLDOM解析返回的xml数据的方法,最后,还需要了解根据返回的数据来改变网页上某些元素的方法。

这里不多做废话讲解那些枯燥的理论了,我将把代码编写中涉及的知识分布在具体的实例讲解中。

在写上面的文字的时候,我一直在想,拿什么做实例来讲比较好呢,这里拿一个比较简单的AJAX的“文章评论”作为实例好了。

首先来做系统概述,在显示文章的页面,显示一个文本框和一个提交按钮,当点击提交按钮时,将不刷新页面向服务器提交数据,当提交完毕后,服务器将返回一个xml文档以告诉当前javascript是否处理成功。

OK,系统概述昨晚了,我们来看下大概的数据库结构。

Article表

字段名

字段类型

作用

备注

ArticleID int 文章编号 主键,自增 ArticleTitle nvarchar(50) 文章标题   ArticleContent ntext 文章内容  

ArticleComment表

字段名

字段类型

作用

备注

ArticleComentID int 评论编号 主键,自增 ArticleID int 文章编号 外键 ArticleCommentContent nvarchar(100) 评论内容  

 文章页的无关代码我就不写了,为了简化,评论部分我只做评论内容,不做评论昵称什么的了,道理都是一样的,大家可以举一凡三的。评论部分相关的表单代码如下:

<div>
<h1>文章评论</h1>
<textarea id="u-comment">
请在此输入您的评论!
</textarea>
<input type="button" onclick="post(<%=lArticleID%>)" value="发表评论" />
</div>
 
上面的代码主要是要大家注意两个点,第一,文章评论的文本框的id为“u-comment”,第二,当点击“发表评论”按钮时,运行函数post(<%=lArticleID%>)。注意这里实际上嵌入了一个asp的变量,我们假设asp里面的变量lArticleID保存的是当前打开的文章的编号,以在添加评论时确定添加到哪个文章下,假如当前文章编号为574,则此处的html代码就是post(574)。
OK,表单介绍完毕,我们来看这个页面的javascript代码。