服务端 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
};
%>