在经典ASP中使用json2.js

时间:2012-03-21 15:05:39

标签: json post asp-classic jscript

美好的一天,

当我在经典ASP中使用VBScript,Javascript和JScript时,我很困惑。 我被告知我们的环境默认使用JScript 因此,当我们使用我们公司的标准包含创建空白页面时,我们就开始使用JScript进行编码。

现在我希望使用json2.js文件,以便我可以解析传入的JSON并将JSON发送到客户端/浏览器。

我并不认为我需要做一些特别的事情来使用json2.js,因为它是纯粹的javascript。但是我在放置SCRIPT标签时遇到了问题。基本上我在经典ASP页面中何时何地需要新的SCRIPT标签?

我正在获得一个JSON'是null或不是对象'响应。这让我相信JSON.parse()方法甚至无法识别。

由于

<script language="javascript" runat="server" src="json2.js"></script>

   <%
         .... ..... some ASP Code in JScript

    %>
    <script language="javascript" runat="server">

        var lngBytesCount
            lngBytesCount = Request.TotalBytes

        var requestBody = BytesToStr(Request.BinaryRead(lngBytesCount));
        //var jsonObject=JSON.parse(\"{"answer":"ok"}\");   

        var jsonObject=JSON.parse(requestBody); 

        Response.ContentType = "application/json";

        for (var i in jsonObject){
            Response.Write(jsonObject[i]);
        }

        //var json = eval(requestBody);
        //Response.Write(json);
        Response.End()

    </script>

    <%
     .... ..... some ASP Code in JScript

1 个答案:

答案 0 :(得分:1)

这取决于您是否要使用json2.js库客户端或服务器端。

Classic ASP是一种支持不同语言的服务器端技术,最流行的是vbscript和jscript。这与可以用C#或VB编写的ASP.NET相同。

<%%>标记之间的代码在服务器端执行。此外,<script runat="server"></script>之间的代码块运行服务器端 如果省略runat="server"部分,它将在客户端运行,并由客户端浏览器执行。

所以要回答你的问题,如果你想在服务器端使用它;使用<script runat="server">,如果您想使用客户端使用<script>