gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-04 09:23:38 26 4
gpt4 key购买 nike

我正在做一个经典的 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 文件中的其他文件。

最佳答案

我终于弄明白了。感谢@Flakes 关于我不应该在包含文件中再次放入 <%@ Language=JavaScript %> 的评论,这正是我上面的第二种方法不起作用的原因。
在这里,我放了一个更复杂的工作示例,以防万一有人需要它。
myjs.asp 包括 lib.asp,其中包括 lib2.asp
myjs.asp - lib2() 函数来自 lib2.asp,它包含在 lib.asp 中

<%@ Language=JavaScript %>

<!--#include file="lib.asp" -->

<%
Response.Write(lib());
Response.Write(lib2());
%>
lib.asp
<!--#include file="lib2.asp" -->

<%
function lib() {
return "this is lib.asp";
}
%>
lib2.asp
<%
function lib2() {
return "this is lib2.asp";
}

function myFunction2(p1, p2) {
return p1 * p2;
}
%>
很多事情都可能出错,所以你必须在每一个细节上都小心翼翼。
需要注意的一件事是,如果您像我一样使用相对路径并且您的 lib.asp 位于同一目录中,则必须使用 文件=... 而不是 虚拟=... 在#include 语句期间。查询 here在 include 指令中查看有关文件与虚拟的更多详细信息

关于javascript - 如何从另一个同样用 Javascript 编写的经典 asp 文件中包含一个用 Javascript 编写的经典 asp?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63057879/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com