js|jscript|vbscript
服务端 VBScript 与 JScript 几个相同特性的写法
摘要:本文演示了ASP服务端脚本的几个重要应用.
1. 遍历集合/对象
1.1 VBScript 遍历表单集合
linenum
<%
for each temp in request.Form
response.write temp&": "&request.form(temp)
next
%>
1.2 JScript 遍历表单集合
linenum
<%
for (var $e=new Enumerator(Request.Form); !$e.atEnd(); $e.moveNext()){
Response.Write($e.item()+':<br/> '+Request.Form($e.item()));
}
%>
2. 转变量值为变量, 并赋值
2.1 VBScript 转变量值为变量并赋值
linenum
<%
for each temp in request.Form
execute temp&"=request.form(temp)"
next
%>
2.2 JScript 转变量值为变量并赋值
linenum
<%
var $xml=new ActiveXObject("microsoft.xmldom");
$xml.load(Server.MapPath('config.xml'));
var $childNodes=$xml.documentElement.selectSingleNode('//siteconfig').childNodes
for ($e=new Enumerator($childNodes); !$e.atEnd(); $e.moveNext()){
eval($e.item().nodeName+"=$e.item().text");
}
$xml=null;
Response.Write(sitekeywords);
%>
3. 动态包含文件
3.1 VBScript 动态包含文件
linenum
<%
function fInclude(filepath)
' sample call '''/// execute fInclude("include/system/language/"&sitefglang&"/main.asp") \\\'''
dim cnt
cnt=CreateObject("scripting.fileSystemObject").openTextFile(server.MapPath(filepath)).readall
cnt=replace(cnt,"<"&chr(37),"")
cnt=replace(cnt,chr(37)&">","")
fInclude=cnt
end function 'shawl.qiu code'
execute fInclude("include/system/language/"&sitefglang&"/main.asp")
%>
3.2 JScript 动态包含文
linenum
<%
eval($dynInc('aj2.asp'));
Response.Write($test);
function $dynInc($fl){
/* ------------------------------------\
* 服务端 JScript 动态包含文件 By shawl.qiu
* sample call: eval($dynInc('aj2.asp'));
\*------------------------------------*/
var $fso=new ActiveXObject("scripting.fileSystemObject");
$str=$fso.OpenTextFile(Server.MapPath($fl)).ReadAll();
$str=$str.replace(/\<\%|\%\>/g,'');
$fso=null;
return $str;
}
%>