社区应用 最新帖子 精华区 社区服务 会员列表 统计排行 社区论坛任务 迷你宠物
  • 3074阅读
  • 3回复

AJAX.其实很简单.新手入门.代码仅供参考.

级别: 经院博士
发帖
4366
铜板
7100
人品值
2882
贡献值
66
交易币
0
好评度
4380
信誉值
0
金币
5
所在楼道
Ajax,其实更应该说它是一种方法,因为它由几种技术以新的方式组合而形成的。使用它可以构建更为动态和响应更灵敏的Web应用程序。该方法的关键在于对浏览器端的JavaScript、DHTML和与服务器异步通信的组合。 s/#L?[YH  
利用一个Ajax框架构造一个应用程序,它直接从浏览器与后端服务进行通信。如果使用得当,这种强大的力量可以使应用程序更加自然和响应灵敏,从而提升用户的浏览体验。它使浏览器可以为用户提供更为自然的浏览体验。在Ajax之前,Web站点强制用户进入提交/等待/重新显示范例。Ajax提供与服务器异步通信的能力,从而使用户从请求/响应的循环中解脱出来。借助于Ajax,可以在用户单击按钮时,使用JavaScript和DHTML立即更新UI,并向服务器发出异步请求,以执行更新或查询数据库。当请求返回时,就可以使用JavaScript和CSS来相应地更新UI,而不是刷新整个页面。最重要的是,用户甚至不知道浏览器正在与服务器通信。Ajax所需的基础架构已经出现了一段时间,但直到最近BackPack/Google Suggest/Google Maps/PalmSphere这些大型站点开始使用后,异步请求的真正威力才得到利用。因为它最终允许开发人员和设计人员使用标准的HTML/CSS/JavaScript堆栈创建“桌面风格的(desktop-like)”可用性。 _"Yi>.{]  
w5zr Ek#  
Ajax的核心是JavaScript对象XmlHttpRequest。它是一种支持异步请求的技术。简单的说,XmlHttpRequest使您可以使用JavaScript向服务器提出请求并处理响应,而不阻塞用户。 =_~bSEqyRI  
trD-qi  
下面给出一段极其简单的代码供大家参考 #+dF3]X(&  
2_i/ F)W  
RMJq9a  
  1. <%
  2. Response.Buffer = True
  3. Response.ExpiresAbsolute = Now() - 1
  4. Response.Expires = 0
  5. Response.CacheControl = "no-cache"
  6. Response.AddHeader "Pragma", "No-Cache"
  7. on error resume next
  8. '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
  9. 'AJAX方法测试                                    
  10. '作者:y3gu - 2006-7-16                                            
  11. '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
  12. db_path = "db1.mdb"     rem 数据库文件路径
  13. Set conn= Server.CreateObject("ADODB.Connection")
  14. connstr = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source="&Server.MapPath(db_path)
  15. conn.Open connstr
  16. Function CloseDatabase
  17.     Conn.close
  18.     Set conn = Nothing
  19. End Function
  20. Function SqlEncode(Texts)     rem 本段代码意在过滤SQL查询
  21. if not isnull(Texts) then
  22.   Texts = Replace(Texts, "%", "%")
  23.   Texts = Replace(Texts, "'", "'")
  24.   Texts = Replace(Texts, "(", "(")
  25.     Texts = Replace(Texts, ")", ")")
  26.     Texts = Replace(Texts, "*", "*")
  27.   Texts = Replace(Texts, "=", "=")
  28.     Texts = Replace(Texts, "?", "?")
  29.     Texts = replace(Texts, ">", ">")
  30.   Texts = replace(Texts, "<", "<")
  31.   SqlEncode = Texts
  32. End if
  33. End Function
  34. Select Case Request.QueryString("Action")
  35. Case "Cheak"
  36. name=request.querystring("name")
  37. If SqlEncode(name)=request.querystring("name") Then
  38. Set rs = Server.CreateObject ("ADODB.Recordset")
  39. sql = "Select * from [数据表] where [字段]='"&name&"'"
  40. rs.Open sql,conn,1,1
  41. if rs.eof and rs.bof then
  42. response.write("true")
  43. else
  44. response.write("false")
  45. end if
  46. rs.close
  47. set rs=nothing
  48. call CloseDatabase
  49. Else
  50. response.write("false")
  51. End If
  52. Case ""
  53. %>
  54. <script language="javascript" type="text/javascript">
  55. var xmlHttp = false;
  56. try {
  57. xmlHttp = new ActiveXObject("Msxml2.XMLHTTP");
  58. } catch (e) {
  59. try {
  60. xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
  61. } catch (e2) {
  62. xmlHttp = false;
  63. }
  64. }
  65. if (!xmlHttp && typeof XMLHttpRequest != 'undefined') {
  66. xmlHttp = new XMLHttpRequest();
  67. }
  68. function cheakname() {
  69. var username = document.getElementById("username").value;
  70. if ((username == null) || (username == "")) return;
  71. var url = "Test.asp?Action=Cheak&name=" + escape(username);
  72. xmlHttp.open("GET", url, true);
  73. xmlHttp.onreadystatechange = updatePage;
  74. xmlHttp.send(null);
  75. }
  76. function updatePage() {
  77. if (xmlHttp.readyState < 4) {
  78. ajaxmessage.innerHTML="正在检查用户名";
  79. }
  80. if (xmlHttp.readyState == 4) {
  81. var reinfo = xmlHttp.responseText;          
  82. if (reinfo=="true") {
  83. ajaxmessage.innerHTML="<FONT COLOR='#6600CC'>该用户名可以使用</FONT>";
  84. }
  85. else {
  86. ajaxmessage.innerHTML="<FONT COLOR='#FF0000'>该用户名已经被使用,或者包含非法字符</FONT>";
  87. }
  88. }
  89. }
  90. </script>
  91. <form name="AJAXform" action="Test.asp?Action=Reg" method="post" autocomplete="off">
  92. 用户名: <input type="text" name="username" id="username" onChange="cheakname();" /><span id="ajaxmessage">是否能注册</span><br>
  93. <INPUT TYPE="submit">
  94. </form>
  95. <%
  96. Case "Reg"
  97. names=SqlEncode(request.form("username"))
  98. Set rs = Server.CreateObject ("ADODB.Recordset")
  99. sql = "Select * from [数据表]"
  100. rs.Open sql,conn,3,3
  101.     rs.addnew
  102.     rs("字段")=names
  103.     rs.update
  104. rs.close
  105. set rs=nothing
  106. call CloseDatabase
  107. response.write("OK")
  108. End Select
  109. %>
评价一下你浏览此帖子的感受

精彩

感动

搞笑

开心

愤怒

无聊

灌水
若水网(经院论坛)是一个值得大家长期居住的地方;
需要大家共同关注并且发扬共享精神交流自己所识的地方
http://www.uebbs.net
级别: 经院高中
发帖
369
铜板
3800
人品值
215
贡献值
0
交易币
0
好评度
305
信誉值
0
金币
0
所在楼道
只看该作者 1 发表于: 2006-08-22
不错的文章。 R0 yPmh,{  
做个记号。呵呵。
发帖
84
铜板
3851
人品值
270
贡献值
0
交易币
0
好评度
73
信誉值
0
金币
0
所在楼道
只看该作者 2 发表于: 2006-08-28
应该跟上时代潮流~

级别: 终身会员
发帖
3743
铜板
8
人品值
493
贡献值
9
交易币
0
好评度
3746
信誉值
0
金币
0
所在楼道
只看该作者 3 发表于: 2006-10-30
现在SUN就压宝AJAX 其实Ruby也很新
描述
快速回复

您目前还是游客,请 登录注册
如果您在写长篇帖子又不马上发表,建议存为草稿
认证码:
验证问题:
3+5=?,请输入中文答案:八 正确答案:八