JavaScript源代码不需要被嵌入到HTML文档。它可以驻留在服务器上,进入一个与<SCRIPT LANGUAGE=“JavaScript的”SRC=“http://yourserver.com/file_location.js”</ SCRIPT>类似的脚本页面。通常情况下,当使用这种技术时你会看到.js文件扩展名,但JavaScript是不依赖于.js文件扩展名的。它可以是包括.asp的任何东西,。如果你的目标文件是一个.asp文档,而不是目标具有.asp文件所有你放到一个“正常”的页面都可以通过JavaScript送达的服务器端脚本,提供了.asp的输出兼容的浏览器。利用这种方法的好处是,通过浏览器服务的.asp页面并不需要在同一台服务器上的内容可以被远程利用。下面的示例中使用我们的数据库对Hank Greenberg’s的职业数据。数据库将被读取,输出将被放置在document.wite声明。此外,为了避免人们查出JavaScript源文件,我们要检查文件的引用。如果没有,那么有人直接键入了ASP的地址,直接会警告他们。
display-js.html <html> <body> <script language="JavaScript" src="http://www.ttasp.net /asp/js-display.asp"></script> </body> </html> js-display.asp <% ‘如果没有引用页面那么显示下面的信息 ‘停止所有处理的脚本 ‘这是为了防止你的javascript 源代码显示。 if trim(request.servervariables("http_referer")) = "" then %> <html> <title>Bad request method</title> <body bgcolor="#FFFFFF"> Error - The information you're requesting can <br> not be accessed by this method. </body> </html> <% response.end ' stop page completely in there is no referer end if 'end check for referer ' 如果有无效引用那么处理请求 '数据库名称 accessdb="greenberg" '链接到数据库 cn="DRIVER={Microsoft Access Driver (*.mdb)};" cn=cn & "DBQ=" & server.mappath(accessdb) '创建服务器记录设置对象 set rs = server.createobject("ADODB.Recordset") sql = "select * from hammerin_hank " '执行sql rs.Open sql, cn '把你的 HMTL 输出的在document.write(" "); statements里面 ‘确定替换你代码所有的" with either ' or \" %> document.write ("<center>"); document.write ("<table border=\"3\">"); document.write ("<caption>Hank Greenberg's Career Statistics</caption><tr>"); <% ' Write out all the elements requested in the ' Sql语句作为表格标题 for each element in rs.fields %> document.write ("<th><%= element.name %></th>"); <% next '结束表格标题 %> document.write ("</tr>"); document.write ("<tr>"); <% ' Write out all the values in the record do while not rs.eof for each element in rs.fields %> document.write ("<td align=right><%= rs(element.name) %></td>"); <% next '结束记录%> document.write ("</tr>"); <% ' Move to the next record rs.movenext '循环到开始 loop%> document.write ("</table>"); document.write ("<br>"); document.write ("* In Military Service"); <% set rs=nothing %>