json - 在经典 ASP 中使用 json2.js

标签 json post asp-classic jscript

美好的一天,

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

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

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

我收到“JSON”为空或不是对象”响应。这让我相信 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

最佳答案

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

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

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

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

关于json - 在经典 ASP 中使用 json2.js,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9807290/

相关文章:

c++ - 如何在 C++ 中设置 json 库? (微软 Visual Studio )

javascript - jQuery 不发送 POST 数据

browser - Classic ASP Session 是如何深入工作的

c# - ASP.NET MVC 参数绑定(bind) : How to POST a list or array to a controller method?

orm - 经典 ASP 有 OR/M 吗?

asp-classic - 测试对象是否为空会导致 'Object required'错误

javascript - 如何测试字符串是否为 JSON?

java - Jackson 将Value 转换为List 但返回null

python - 包含字典、文本、日期时间和整数的 JSON 转储大列表给出 "TypeError: ' str' 不支持缓冲区接口(interface)"

php - 处理cURL和其他POST类型的请求