ASP上的Javascript产生页面故障

| 我是经典ASP的新手,所以我可能缺少一些简单的东西。 我有一个运行一些JavaScript的Classic ASP Page,以处理一系列复选框上的事件。当我采用生成的HTML并将其粘贴到自己的页面中时,JavaScript可以按预期工作,但是在ASP上却出现了错误。 我猜这与何时将内容加载到页面上有关,但是我不确定。我在下面附加了我的JavaScript和ASP页面: ASP代码 http://pastebin.com/hKgfMRPc 的JavaScript http://pastebin.com/sbGhRy1V
已邀请:
首先,如果您刚开始,我会放弃经典的ASP并学习.NET。如果.net似乎有点让人不知所措,请尝试使用PHP,因为它与经典ASP在设计上有很多相似之处,但更多受支持。经典ASP真的很流行! 另外,在每个页面的顶部,您应该具有:
<% Option Explicit %>
应该始终使用它,因为它使调试10倍变得容易,在重新定义变量和其他有用的东西时会引发错误。即使在发布期间,也要放在每页上。 同时确定变量的尺寸,这是“声明变量”的另一种方式。因此,您的ASP页面应如下所示:
<%
    Option Explicit

    Dim xml
    Dim strReturnedText
%>
<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\">
<html>
....
另外,不要忘记放置对象,否则它们将保留在内存中。将函数更改为如下所示:
<%
    \'Load XML
    set xml = Server.CreateObject(\"Microsoft.XMLDOM\")
    xml.async = false
    xml.load(Server.MapPath(\"/site-index.xml\"))

    \'Load XSL
    set xsl = Server.CreateObject(\"Microsoft.XMLDOM\")
    xsl.async = false
    xsl.load(Server.MapPath(\"/site-index.xsl\"))

    \'Get the response
    strReturnedText = xml.transformNode(xsl)

    \'Clean up the object
    set xml = nothing

    \'Transform file
    Response.Write(strReturnedText)
%>
由于您没有向我们提供错误消息,因此很难为您调试代码。如果粘贴完成这些更改后得到的错误消息,那么为您查明错误消息应该很容易。 编辑 为了回应您对输出的评论:
<?xml version=\"1.0\" encoding=\"UTF-16\"?>
当您尝试打印出实际的XML文件时,这可能会引发错误,浏览器在呈现HTML文档时可能会感到困惑。 尝试将输出包装在
<xmp>
标记中,以进行临时测试,看是否可以解决问题:
\'Transform file
Response.Write(\"<xmp>\" & strReturnedText & \"</xmp>\")

要回复问题请先登录注册