ap626 2024-05-19 18:41 采纳率: 96%
浏览 1
已结题

asp页面传数组用JAVASCRIPT就不行呢?

下图中的代码能正常传递数组,可以把"3.asp"正常传递数组到"4.asp",

img


下面我改成javascript就出现"1.asp"不能传递的数组到"2.asp";
请帮我修改一下代码使"2.asp"能接收到组

img

  • 写回答

3条回答 默认 最新

  • 阿里嘎多学长 2024-05-19 18:41
    关注

    以下内容由CHATGPT及阿里嘎多学长共同生成、有用望采纳:


    您想要解决的问题:

    您想要解决的问题是如何在ASP页面中使用JavaScript语言来传递数组,使得从"1.asp"页面能够成功传递数组到"2.asp"页面。

    图片内容:

    1. 第一张图片展示了使用VBScript编写的ASP页面代码,该代码能够成功传递数组到下一个页面("3.asp"到"4.asp")。
    2. 第二张图片展示了您尝试使用JavaScript编写的ASP页面代码,该代码在尝试传递数组到下一个页面("1.asp"到"2.asp")时出现了问题。

    问题出现原因:

    问题可能出现在JavaScript代码的语法错误或逻辑错误上。在ASP中使用JavaScript时,需要确保:

    • JavaScript代码块正确地用<% %>标记包围。
    • 变量声明和数组操作正确无误。
    • 请求和响应处理与VBScript的使用方式不同。

    问题解决方案:

    根据您提供的图片内容,我将提供修改后的代码,以确保"2.asp"页面能够接收到数组。

    修改后的"1.asp"页面代码示例:

    <%@LANGUAGE="JAVASCRIPT" CODEPAGE="936"%>
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
    <title>无标题文档</title>
    </head>
    <%
    var arr = new Array(20);
    for (var i = 0; i < arr.length; i++) {
        arr[i] = "Item" + i;
    }
    var arrString = arr.join(",");
    %>
    <body>
    <form name="testform" method="post" action="2.asp">
        <input type="hidden" name="arr" value="<%= arrString %>">
        <input type="submit" value="Submit">
    </form>
    </body>
    </html>
    

    修改后的"2.asp"页面代码示例:

    <%@LANGUAGE="JAVASCRIPT" CODEPAGE="936"%>
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
    <title>无标题文档</title>
    </head>
    <%
    var arrString = Request.QueryString["arr"];
    var arr = arrString.split(",");
    %>
    <body>
    <%
    for (var i = 0; i < arr.length; i++) {
        Response.Write("Item " + i + " = " + arr[i] + "<br>");
    }
    %>
    </body>
    </html>
    

    代码运行方式:

    • 将上述修改后的代码分别保存为"1.asp"和"2.asp"。
    • 在支持ASP的服务器环境中运行"1.asp"页面,如IIS。
    • 提交表单后,"2.asp"页面应该能够显示传递过来的数组元素。

    代码预期运行结果:

    • 当您在"1.asp"页面点击提交按钮后,"2.asp"页面将显示如下内容:
      Item 0 = Item0
      Item 1 = Item1
      ...
      Item 19 = Item19
      

    推荐相关链接:

    请注意,由于ASP和JavaScript的结合使用可能存在一些兼容性和安全性问题,建议在实际开发中谨慎操作,并考虑使用更现代的技术栈。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录
查看更多回答(2条)

报告相同问题?

问题事件

  • 系统已结题 5月28日
  • 已采纳回答 5月20日
  • 创建了问题 5月19日