【问题标题】:'JSON' is null or not an object' error in classic ASP经典 ASP 中的“JSON”为空或不是对象“错误
【发布时间】:2012-03-22 04:03:07
【问题描述】:

我收到标题中的错误 --JSON 为空或不是对象。

我在一个经典的 ASP 页面中。我的 json2.js 文件与我所在的这个经典 asp 页面位于同一目录中。所以我不知道为什么服务器似乎无法识别 JSON.parse() 方法。 我的脚本语言是 JScript。

我注意到在不同的线程中,使用 json2.js 库是要走的路。但我似乎无法让它发挥作用。这是一个怪癖吗?这应该很简单吧?

requestBody 是一个简单的 JSON 对象:[{"answer":"ok"},{"answer":"sunny"}]

谢谢!

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

<%
    var jsonObject = JSON.parse(requestBody);

%>

【问题讨论】:

    标签: json asp-classic jscript


    【解决方案1】:

    不确定,但我要做的第一件事是检查 json2.js 的权限。使用 icacls.exe,并验证该文件的权限是否与 .ASP 页本身的权限相匹配。我这样做:

    %windir%\system32\icacls.exe json2.js /grant "NT AUTHORITY\IUSR:(RX)"
    %windir%\system32\icacls.exe json2.js /grant "BUILTIN\IIS_IUSRS:(RX)"
    

    另外 - 为了帮助调试 ASP,您可以在 IIS 管理器中调整 ASP 调试设置。单击“向客户端发送错误”以在客户端浏览器窗口中查看错误。

    或者,您可以手动将其添加到 web.config:

    <configuration>
      <system.webServer>
        <httpErrors errorMode="Detailed" existingResponse="PassThrough" />
        <asp scriptErrorSentToBrowser="false" />
      </system.webServer>
    </configuration>
    

    在 Vista/2008/Win7 上,您可能还需要“解锁”允许此操作的 web.config 节。

     %windir%\system32\inetsrv\appcmd.exe unlock config  -section:system.webServer/asp
    

    这不会解决“JSON 不是对象”的问题,但它会在发生故障时为您提供更好的错误消息。

    【讨论】:

    • 非常感谢。你有一些非常深入的知识。
    【解决方案2】:

    应该可以,刚刚做了快速测试用例。

    您可以尝试的事情:

    1. 尝试将包含的文件重命名为json2.asp并更改为:

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

      mime 类型之类的东西可能有问题。

    2. 如果运气不好,请将文件重命名并尝试使用浏览器直接浏览到json2.asp,而不是您自己的页面。

    3. 尝试在包含的文件中添加一些调试代码,看看它是否正在执行。

    如果还是不行,还请说明您正在使用的确切服务器和平台,也许有人会有新的想法。

    【讨论】:

      【解决方案3】:

      .NET Framework 3.5 具有 JavaScriptSerializer 类,可以帮助反序列化 json 对象。您还可以使用第三方库,例如JSON.NET

      【讨论】:

      • 问题是关于经典 ASP (pre-ASP.NET)。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多