无法通过经典 ASP 中的 URL 访问 JSON 文件

Unable to access JSON files via URL in Classic ASP

我正在使用经典 ASP 网站。目前,为了 运行 一些使用 DataTables.js 的测试,我设置了一个包含以下代码的基本 json 文件:

{
  "draw": 1,
  "recordsTotal": 57,
  "recordsFiltered": 57,
  "data": [
    [
      "Airi",
      "Satou",
      "Accountant",
      "Tokyo",
      "28th Nov 08",
      "2,700"
    ],
    [
      "Angelica",
      "Ramos",
      "Chief Executive Officer (CEO)",
      "London",
      "9th Oct 09",
      ",200,000"
    ],
    [
      "Ashton",
      "Cox",
      "Junior Technical Author",
      "San Francisco",
      "12th Jan 09",
      ",000"
    ],
    [
      "Bradley",
      "Greer",
      "Software Engineer",
      "London",
      "13th Oct 12",
      "2,000"
    ],
    [
      "Brenden",
      "Wagner",
      "Software Engineer",
      "San Francisco",
      "7th Jun 11",
      "6,850"
    ],
    [
      "Brielle",
      "Williamson",
      "Integration Specialist",
      "New York",
      "2nd Dec 12",
      "2,000"
    ],
    [
      "Bruno",
      "Nash",
      "Software Engineer",
      "London",
      "3rd May 11",
      "3,500"
    ],
    [
      "Caesar",
      "Vance",
      "Pre-Sales Support",
      "New York",
      "12th Dec 11",
      "6,450"
    ],
    [
      "Cara",
      "Stevens",
      "Sales Assistant",
      "New York",
      "6th Dec 11",
      "5,600"
    ],
    [
      "Cedric",
      "Kelly",
      "Senior Javascript Developer",
      "Edinburgh",
      "29th Mar 12",
      "3,060"
    ]
  ]
}

table 给我经典的 AJAX 错误警告,当找不到文件时会发生这种错误警告。经过进一步检查,我发现如果我尝试访问 url 中的 JSON 文件,它显示为 404,我知道该文件在那里,因为如果我 post 里面有一个文件与 test.asp 相同的文件夹,内容如下:

<%
  Response.Write("Test test")
%>

并导航到同一路径,将 example.json 交换为 test.asp 我在浏览器中显示了正确的 "Test test"

显示 json 是否需要任何特殊配置?如果我 运行 在我的机器上本地使用 IIS 管理器并转到它会显示的文件,但它不会显示在服务器中的应用程序中。我很困惑为什么这个问题只出现在服务器中。可能缺少配置?

我在这里遗漏了一些数据,所以我将做一些假设。

如果您使用的是安装了请求筛选的 IIS(通常是这样),那么 IIS 可能不允许提供文件扩展名。

要解决这个问题,请打开 IIS 管理器 > select 您的站点 > 请求过滤 > 文件扩展名(选项卡),并确保 .json 存在并且 "Allowed" = True。