猿问

如何从另一个同样用 Javascript 编写的经典 asp 文件中包含一个用 Javascript

我正在处理一个经典的 ASP 项目,不幸的是无法切换到另一种技术。我了解到可以用 Javascript (ES3) 编写服务器端经典 ASP 代码,所以我做了一些调查,但我找不到从基于 JS 的 ASP 文件中包含另一个基于 JS 的 ASP 文件的方法。


这是我要导入的基于 JS 的 ASP 文件:


includejs.asp


<%@ Language=JavaScript %>


<%

function myFunction(p1, p2) {

    return p1 + p2;

}


%>

我尝试了以下两种方法,都没有用


myjs1.asp


<%@ Language=JavaScript %>


<script language="JScript" runat="server" src="./includejs.asp"></script>


<%

    // myFunction is from another file

    Response.Write(myFunction(20,2));

%>

myjs2.asp


<%@ Language=JavaScript %>


<!--#include virtual="./includejs.asp" -->


<%

    // myFunction is from another file

    Response.Write(myFunction(20,2));

%>

我的发现


第一次尝试时,我能够导入如下所示的纯 javascript 文件


function myFunction(p1, p2) {

    return p1 + p2;

}

但我想包含一个 ASP 包装的 javascript,这样我也可以包含 Js 文件中的其他文件。


牧羊人nacy
浏览 119回答 1
1回答

收到一只叮咚

我终于弄明白了。感谢@Flakes 关于我不应该在包含文件中再次放入 <%@ Language=JavaScript %> 的评论,这正是我上面的第二种方法不起作用的原因。在这里,我放了一个更复杂的工作示例,以防万一有人需要它。myjs.asp 包含 lib.asp,其中包含 lib2.aspmyjs.asp - lib2() 函数来自 lib2.asp,它包含在 lib.asp 中<%@ Language=JavaScript %><!--#include file="lib.asp" --><%&nbsp; &nbsp; Response.Write(lib());&nbsp; &nbsp; Response.Write(lib2());%>库文件<!--#include file="lib2.asp" --><%function lib() {&nbsp; &nbsp; return "this is lib.asp";}%>lib2.asp<%function lib2() {&nbsp; &nbsp; return "this is lib2.asp";}function myFunction2(p1, p2) {&nbsp; &nbsp; return p1 * p2;}%>很多事情都可能出错,所以你必须注意每一个细节。需要注意的一件事是,如果您像我一样使用相对路径并且您的 lib.asp 在同一目录中,则必须在 #include 语句期间使用file=...而不是virtual=...。检查此处以查看包含指令中有关文件与虚拟的更多详细信息
随时随地看视频慕课网APP

相关分类

JavaScript
我要回答