AJAX and 经典的ASP.

ASP新手入门

使用javascript中的xmlHTTP服务器对象请求包含脚本的ASP页来输出文本。


更新!本文使用jQuery提供了新的版本。


通用跨浏览器JS函数创建XMLHTTPSServer对象。为了清楚地介绍Ajax的基本知识,这一系列文章特别有用:

http://www.ibm.com/developerworks/web/library/wa-ajaxintro1.html.


function GetXmlHttpObject(handler) { var objXmlHttp=null; if (navigator.userAgent.indexOf("MSIE")>=0) { var strName="Msxml2.XMLHTTP"; if (navigator.appVersion.indexOf("MSIE 5.5")>=0) { strName="Microsoft.XMLHTTP"; } try { objXmlHttp=new ActiveXObject(strName); objXmlHttp.onreadystatechange=handler; return objXmlHttp; } catch(e) { alert("Error. Scripting for ActiveX might be disabled"); return; } } if (navigator.userAgent.indexOf("Mozilla")>=0) { objXmlHttp=new XMLHttpRequest(); objXmlHttp.onload=handler; objXmlHttp.onerror=handler; return objXmlHttp; } }


在HTML选择元素上由选定索引更改触发的示例JS函数。这一个将Cuffer-ID附加到将被执行的ASP脚本的QueqSnpe。第一个JS函数将调用第二个StistC改函数,它将输出任何返回的字符串(响应脚本)到div的内层HTML。


function GetCustomer(id) { var url="FetchCustomer.asp?CustomerID=" + id ; xmlHttp=GetXmlHttpObject(stateChanged); xmlHttp.open("GET", url , true); xmlHttp.send(null); } function stateChanged() { if (xmlHttp.readyState==4 || xmlHttp.readyState=="complete") { document.getElementById('CustomerDetails').innerHTML=xmlHttp.responseText; } }


带有Onchange事件的选择列表连接到GETCube函数。


<% strProvider = "Provider=Microsoft.Jet.OLEDB.4.0;" strDb = "Data Source=" & Server.MapPath("Northwind.mdb") strConn = strProvider & strDb Set Conn = Server.CreateObject("ADODB.Connection") Conn.Open strConn Set rs = Conn.Execute("SELECT [CustomerID], [CompanyName] FROM [Customers]") If Not rs.EOF Then %> <form> <select name="CustomerID" onChange="GetCustomer(this.value);"> <option></option> <% Do Until rs.EOF Response.Write "<option value=""" & rs("CustomerID") & """>" Response.Write rs("CompanyName") & "</option>" & VbCrLf rs.MoveNext Loop rs.Close : Set rs = Nothing : Conn.Close : Set Conn = Nothing %> </select> </form> <% Else rs.Close : Set rs = Nothing : Conn.Close : Set Conn = Nothing Response.Write "<p>Something bad went wrong</p>" End If %> <div id="CustomerDetails"></div>


一个示例ASP脚本,它从QuiSQL字符串中接收值并查询数据库,将结果输出到HTMLHTTP响应,由XMLHTTP对象接收并更改其RealyStand属性,并启动StaseC改方法,该方法将响应集写入到div中。


<%@LANGUAGE="VBSCRIPT" CODEPAGE="1252"%> <% strProvider = "Provider=Microsoft.Jet.OLEDB.4.0;" strDb = "Data Source=" & Server.MapPath("Northwind.mdb") strConn = strProvider & strDb Set Conn = Server.CreateObject("ADODB.Connection") Conn.Open strConn query = "SELECT * FROM Customers WHERE CustomerID = ?" CustomerID = Request.QueryString("CustomerID") arParams = array(CustomerID) set cmd = Server.CreateObject("ADODB.Command") cmd.CommandText = query set cmd.ActiveConnection = Conn Set rs = cmd.Execute(,arParams,1) If Not rs.EOF Then Response.Write rs(1) & "<br />" & _ rs(4) & "<br />" & _ rs(5) & "<br />" & _ rs(6) & "<br />" & _ rs(7) & "<br />" & _ rs(8) & "<br />" & _ "Tel: " & rs(9) & "<br />" End If rs.Close : Set rs = Nothing set cmd = Nothing Conn.Close : Set Conn=nothing %>


上面的示例包括使用传递给命令的执行方法的参数数组。这有助于防止SQL注入。


相关内容推荐

周的天数

想在asp显示当前一周有多少天吗?这个代码会把握住今天的值和利用到案例选择显示一周的天数。 % date_value = date() %%= date_value %br% dayofweek=weekday(date_value) %day number in week %= dayofweek %br%

asp获取IP地址的函数

FunctionGetIp() DimDulIp,ProIP DulIp=Request.ServerVariables("HTTP_X_FORWARDED_FOR") ProIP=Request.ServerVariables("REMOTE_ADDR") IfDulIp=""Then GetIp=ProIP Else GetIp=DulIp EndIf EndFunction

编写第一个ASP程序

现在有很多关于ASP编程的教程。其中有些是对于你有帮助,有些完全没有用。甚至有些写得是误人子弟。无论如何,你读过一些关于ASP的内容,现在你已经准备好构建第一个应用程序。

ASP表单输入到HTML

ASP能写.html或者任何其他的直接到web服务器的文档文本(你需要写文本输出到写权限的目录)。这是能够不需要上传PC的文件用户输入即时的发布信息。 下面的例子有四个输入区域(标

ASP-条件语句

有时,当我们写代码时,我们要为作出不同的决定而执行不同的操作。我们可以使用条件语句中的代码来做到这一点。条件语句是一套用于执行基于不同条件的不同动作的命令。 为了支

返回
顶部