一直在用JS寫ASP,也不是特別原因,只是當初學的是JS,後來學ASP時知道ASP也可以用JS寫,就沒去學VBS.前幾個月剛學ASP的時候找遍了深圳的書店也沒有找到一本用JS做腳本語言的ASP書籍,沒辦法,只能自己慢慢摸索著前進,遇到不懂的東西就在網上搜索,在此,發一些JS寫ASP與VBS寫ASP的區別,希望對剛學JS+ASP的朋友有所幫助.
語法總結: JS語句結束時都要加;號,
寫SQL語句要將VBS裡面的&號改成+號,
JS中單句注釋是//,整段是/*這裡是要注釋的代碼*/,
變量聲明是var關鍵字,不需要寫Set,直接var就行,
ASP對象的第一個字母要大寫,如Server的S一寫要大寫,否則會報錯.
一些代碼的區別
連接數據庫
VBS:
<%
dim conn
dim dbpath
dim connstr
Set conn =Server.CreateObject("adodb.connection")
dbpath=Server.MapPath("data.mdb")
connstr="Provider=Microsoft.Jet.OLEDB.4.0;Data Source="&dbpath
conn.open connstr
%>
JS:
<%
var conn;
var dbpath;
var connstr;
conn=Server.CreateObject("adodb.connection");
dbpath=Server.MapPath("data.mdb");
connstr="Provider=Microsoft.Jet.OLEDB.4.0;Data Source="+dbpath;
conn.open(connstr);
%>
關閉連接
VBS:
<%'關閉釋放記錄集
rs.close
set rs = Nothing
conn.close
set conn = Nothing
%>
JS:
<%//關閉釋放記錄集
rs.close;
rs = null;
conn.close;
conn = null;
%>
輸出
VBS:
Response.write "<script language='javascript'>alert('操作成功,請等待管理員確認\\點確定關閉窗口');self.opener.location.reload();window.close();</script>"
JS:
Response.write("<script language='javascript'>alert('操作成功,請等待管理員確認\\點確定關閉窗口');self.opener.location.reload();window.close();</script>");
獲取表單對象
VBS:
dim id
id = Request.QueryString("id")
JS:
var id = Request.QueryString("id").item;//重要,js中Request.QueryString是一個對象,要加Item
SQL語句日期查詢,這個跟VBS的太不相同,相初我郁悶了很久,在網上找了很久才想出下面的語句(這個只寫了JS的,VBS的實在不會寫)
<%
var rs,sql;
rs = Server.CreateObject("adodb.recordset");
sql = "select * from [count] order by dae desc"
rs.open(sql,conn,1,1)
//實現總訪問量
var rst = Server.CreateObject("adodb.recordset");
sqlt="select sum(count) as dt from [count]";
rst.open(sqlt,conn,1,1);
//實現當日訪問量
var rsd = Server.CreateObject("adodb.recordset");
sqld="select sum(count) as dd from [count] where day(dae) = '"+((new Date).getDate())+"' and Month(dae) = '"+((new Date).getMonth()+1)+"' and Year(dae) = '"+((new Date).getYear())+"'";
rsd.open(sqld,conn,1,1);
//實現昨日訪問量
var rsz = Server.CreateObject("adodb.recordset");
sqlz="select sum(count) as zd from [count] where day(dae) = '"+((new Date).getDate()-1)+"' and Month(dae) = '"+((new Date).getMonth()+1)+"' and Year(dae) = '"+((new Date).getYear())+"'";
rsz.open(sqlz,conn,1,1);
//實現當月訪問量
var rsm = Server.CreateObject("adodb.recordset");
sqlm="select sum(count) as dm from [count] where Month(dae) = '"+((new Date).getMonth()+1)+"'";
%>
暫時就想到這麼多,順便說明一下,本人很菜,以上要有不正確之處還望高人指出.
希望版主將此貼置頂,以後相關JS寫ASP的問題都可以在此提出.讓一些學習JS寫ASP的朋友有一個更好的交流空間.