在asp classic中使用javascript变量
我想知道如何解决以下问题: 我有一个数组-在asp经典在asp classic中使用javascript变量,javascript,arrays,asp-classic,Javascript,Arrays,Asp Classic,我想知道如何解决以下问题: 我有一个数组-在asp经典 objArray 我在javascript中使用这个循环。问题是,当我在javascript代码中时,如何访问asp数组中的各个元素,并为其使用变量。在Javascript中,如果使用整数,我可以很容易地从asp数组中获取一个独立元素,例如: var theString = '<%=objArray[3]%>'; var theString=''; 这是第4位的元素 但是-int在javascript中循环-我需要使用变
objArray
我在javascript中使用这个循环。问题是,当我在javascript代码中时,如何访问asp数组中的各个元素,并为其使用变量。在Javascript中,如果使用整数,我可以很容易地从asp数组中获取一个独立元素,例如:
var theString = '<%=objArray[3]%>';
var theString='';
这是第4位的元素
但是-int在javascript中循环-我需要使用变量'i'来获取元素-但是由于它是asp?请参阅下面的代码
<script type="text/javascript">
var arrayLen = '<%=nObjects%>'
for (var i = 0; i < arrayLen; i++) {
var y = document.createElement("label");
y.innerHTML = '<%=objArray(i)%>'; // this doesnt work since asp doesnt recognice the variable i
document.body.appendChild(y);
}
</script>
var arrayLen=“”
对于(变量i=0;i
您在代码长度中遗漏了以下内容:
<script type="text/javascript">
var arrayLen = '<%=nObjects%>';
for (var i = 0; i < arrayLen.length; i++) {
var y = document.createElement("label");
y.innerHTML = 'arrayLen(i)';
document.body.appendChild(y);
}
</script>
var arrayLen=“”;
对于(变量i=0;i
由于阵列位于服务器端,因此可以在ASP代码本身中执行循环:
<%
Dim objArray : objArray = Array(1,2,3,4,5)
Dim i
%>
<script type="text/javascript">
var y;
<%
for i=0 to UBound(objArray)
%>
y = document.createElement("label");
y.innerHTML = "<%=objArray(i)%>";
y.id="label_<%=objArray(i)%>";
document.body.appendChild(y);
<%
next
%>
document.getElementById("label_1").innerHTML = "Modified First Label";
</script>
变量y;
y=document.createElement(“标签”);
y、 innerHTML=“”;
y、 id=“标签”;
文件.正文.附件(y);
document.getElementById(“label_1”).innerHTML=“修改的第一个标签”;
不幸的是,这也不起作用,因为经典ASP在这一点上不知道i
变量,循环需要在服务器端完成,这是无法避免的(除非您将数组
序列化到客户端,但这只是毫无意义的),请记住,服务器端代码是在将任何内容返回到客户端之前设置的。另一种方法(取决于您的需求)是通过AJAX调用将数组的处理和
的生成传递给ASP,这样您就不会因生成大量客户端代码而导致响应膨胀。