4、del_Data();该函数的作用:把被删除的数据的ID提交给服务端请求的网页.然后根据服务端返回的一个msg标签.来判断数据是否被成功删除.老规矩我只讲以前没有涉及过的内容: (1):点击删除按扭启用del_Data()函数.我们先找出id为msg的span标签.然后写一段操作信息.告诉你正在删除数据. (2):获取要存放数据的表格.也就是那个id为a的tbody.判断tbody中是否有数据.如果tbody中没有任何数据.则告诉你没有数据可供选择.然后退出函数.不再往下执行. (3):获取那个隐藏的文本框.并判断文本框是否有值.如果为空显示一段提示信息.退出函数.不再执行!如果有值存在则证明你选择了某条数据.下面的ajax会将你选择的这条数据提交给服务端网页进行删除 (4):关于ajax是如何提交和回收数据的.请参阅"ajax初试之读取数据篇"与"ajax读取数到表格". (5):del_Data()重点是这里:判断服务端传回那个msg标签.如果该标签的内容为0,则代表服务端工作一切顺利,数据已被成功删除. (6):数据被成功删除以后:var tr = document.getElementById(id.value);获取当前选择的行. (7):tr.parentNode.removeChild(tr);//引用该行的父元素tbody,删除该行! 至此删除数据完成.其经过是接受服务端发回来的信号.如果删除成功,则删除前端选择的表格行.如果失败则给出提示信息! 5、add_Post();该函数与上一篇中基本一样.提交添加的数据给服务端.唯一不同的地方是:当数据被成功添加以后.我们又调用了Read();函数来读取新的数据.因为我们必须要获得新添加数据的正确id,以便我们可以正确删除! 好了,前端的代码已经讲解完了. 下面是本次ajax实例教程请求的服务端网页源码: 复制代码 代码如下: <!--#include file="Conn.Asp"--> <% "出自:http://Www.Web666.Net "作者:康董 "如需转载请务必保留以上信息 "定义一个变量,来保存xml数据 xml="<?xml version="1.0" encoding="gb2312"?><body>" action=Request.QueryString("action") "使用get方式接受一个action来判断客户端想要执行什么操作 Select case action case "read" "如果为read则执行读取数据的操作 Call Read case "add" "如果为add则执行添加数据 Call Add_Data case "del" "如果为del则执行删除数据的操作 Call Del_Data case else xml = xml&"<msg>请求参数错误,请不要试图非法操作!</msg>" End Select xml=xml&"</body>" Response.Clear Response.ContentType="text/xml" Response.CharSet="gb2312" Response.write xml Response.End
Sub Read "定义一个读取数据的过程 Call OpenConn "打开数据库链接 Sql = "Select top 10 * From del_table order by id desc" "打开数据库中名字为del_table的表 Set Rs = Conn.Execute(Sql) "执行Sql语句,并将sql的索引赋值给rs变量
While Not Rs.Eof "如果表中有数据.则一直循环读取 xml = xml&"<list>" "每读取一条数据则创建一个list标签 xml = xml&"<id>"&Rs("id")&"</id>" "id字段内容 xml = xml&"<content>"&Rs("content")&"</content>" "content字段内容 xml = xml&"</list>" "每读完一条数据,就闭合list标签 Rs.MoveNext "执行下一条数据的读取 Wend "如果数据库中没有了数据.则结束循环 Close_Conn "关闭数据库链接 End Sub
Sub Add_Data "添加数据过程 On Error Resume Next "如果发生错误继续执行程序 OpenConn "打开数据库链接
str = Trim(Request.Form("str")) "接收客户端传过来的str内容 If str = "" Then xml = xml&"<msg>3</msg>" "如果提交的内容为空.返回3 Exit Sub "退出过程 End If
Sql = "Insert Into del_table (content) values (""&str&"")" Conn.Execute(Sql) "执行添加数据 If Err.Number = 0 Then "判断是否有错误发生, xml = xml&"<msg>0</msg>" "如果没有错误发生,则证明数据已经成功.返回0 Else xml = xml&"<msg>1</msg>" "如果发生错误.则证明有错误发生.数据很可能添加失败 End If Close_Conn End Sub
Sub Del_Data "删除数据过程 On Error Resume Next OpenConn id = Request("id") Sql = "Delete From del_table where id="&id Conn.Execute(sql) If Err.Number = 0 Then xml = xml&"<msg>0</msg>" Else xml = xml&"<msg>1</msg>" End If Close_Conn End Sub %>