这是我的问题:
我有一个一维数组,它是同一 .asp 中某些服务器端代码的结果。我想获取这个数组并将其中的字符串传输到 JavaScript 数组,这样我就可以使用表中的值进行显示。
这是我尝试过的代码:
<script language="javascript">
var jsArray = [];
var n = <%=r%>;
for (n = 0; n < 4; n++){
jsArray[n] = '<%=tulemused(n)%>'; //this isn't working for some reason
}
</script>
我个人认为错误是由n
变量造成的。当我将其写在段落中时它显示正确,但在上面标记的行中使用时它不起作用。我还认为 for 循环可能是问题所在。
我做错了什么?
最佳答案
您的“<%=”之类的代码将在页面呈现时执行。这意味着,按照编写方式,该代码将在页面呈现时执行一次,尝试访问数组的第 n 个元素。但是,此时变量 n 不在访问范围内。
因此,如果您希望使用此类代码,则还需要将迭代包含在嵌入代码中。
一个更简单的解决方法是将字符串列表(您希望传递的)存储为单个串联字符串,由已知分隔符分隔,并在 Javascript 中访问串联字符串并在 JS 中拆分它。
也就是说,如果字符串变量 tulemused_concatenated
保存由分隔符“,”分隔的连接字符串,则以下脚本应该可以工作。
<script language="javascript">
var jsArray = [];
var n = <%=r%>;
var concatenated_string = '<%=tulemused_concatenated%>'; //this isn't working for some reason
var jsArray[n] = concatenated_string.split(',');
</script>
关于javascript - ASP 数组到 JavaScript 数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33842210/