【问题标题】:ERROR 404.3 Not Found for JSON file错误 404.3 未找到 JSON 文件
【发布时间】:2013-04-11 08:43:06
【问题描述】:

即使在激活所有“应用程序开发功能”之后,我在“Internet 信息服务 7.5”上使用 AJAX 调用调用的 JSON 文件也收到“错误 404.3 未找到”。除了 JSON 文件,所有其他文件都在加载。

我正在本地机器上的 IIS 服务器上运行 HTML 页面。

如果我直接打开文件,则完全没有问题。当我在在线服务器上托管文件时,它工作正常。

任何快速帮助将不胜感激。

【问题讨论】:

    标签: json iis iis-7.5 http-status-code-404 mime-types


    【解决方案1】:

    正如@ancajic 所建议的,我将以下代码放在了我的 web.config 文件中的 connectionString 标记之后,并且它起作用了。

      <system.webServer>
        <staticContent>
          <mimeMap fileExtension=".json" mimeType="application/json" />
        </staticContent>
      </system.webServer>
    

    【讨论】:

    • 谢谢,我无法确定将 放在何处,并且知道将其放在 中是它起作用的原因!谢谢!
    • 在哪里可以找到 web.config 文件?
    • 太棒了!节省了我的时间!
    【解决方案2】:

    正如@elasticman所说,需要打开IIS Manager -> Mime types -> 添加一个新的mime type

    扩展名:.json MIME 类型:application/json

    但对我来说,这还不够。我有一个 ASP.NET MVC 4 应用程序,我必须修改我的根 Web.config 文件。

    插入

    <staticContent>
      <mimeMap fileExtension=".json" mimeType="application/json" />
    </staticContent>
    

    在你的某个地方

    <system.webServer>
        ...
    </system.webServer>
    

    【讨论】:

      【解决方案3】:

      您尝试接收的文件是否在同一个域中?还是您从另一台服务器获取 json?如果它托管在不同的域上,由于同源策略,您必须使用 JSONP。

      【讨论】:

      • 同域,下面是文件夹结构:根文件夹 index.html - data/data.json - js/js.js
      • 好的,问题是 IIS 默认没有 JSON 文件类型 (MIME),所以你必须设置它: 为整个服务器设置: 1. 打开你的服务器的属性您的 IIS 管理器并选择 MIME 类型。 2. 使用“New”并输入“JSON”作为扩展名,输入“application/json”作为 MIME。
      • 感谢elasticman,iis没有json文件类型,无法识别。
      【解决方案4】:

      选项 1

      1. 转到 II

      2. 选择网站

      3. 在 IIs 下双击 Mime 类型图标

      4. 点击右侧的添加链接

      5. 文件扩展名 = .json Mime 类型 = 应用程序/json

      6. 点击确定。

      选项 2

      像这样更新你的 web.config 文件

      <system.webServer>
          <staticContent>
            <mimeMap fileExtension=".json" mimeType="application/json" />
          </staticContent>
      </system.webServer>
      

      希望您的问题得到解决

      【讨论】:

        【解决方案5】:

        如果您将 IIS Express 与 Visual Studio 一起使用,IIS 管理器将不适用于 IIS Express。相反,您需要从 %userprofile%\documents\IISExpress\config\applicationhost.config 打开此配置文件并插入

        <staticContent>
          <mimeMap fileExtension=".json" mimeType="application/json" />
        </staticContent>
        

        以及所有其他预定义的 mime 类型。

        【讨论】:

          【解决方案6】:

          我在IIS上应用了以下设置是对的。


          1.打开IIS管理器

          2.显示 IIS 服务器的属性

          3.点击 MIME Types 然后添加 JSON 扩展:

          文件扩展名:.json

          MIME 类型:application/json

          4.返回 IIS 服务器的属性

          5.点击处理程序映射

          添加脚本映射

          请求路径:*.json

          可执行文件:C:\WINDOWS\system32\inetsrv\asp.dll 名称:JSON

          【讨论】:

            【解决方案7】:

            我没有同样的问题,但对我来说(Windows Server 2003 IIS 6)MIME 类型 application/json 不起作用。我使用 text/plain 并且工作完美(您不需要重新启动服务器)

            【讨论】:

              【解决方案8】:

              使用 Azure 应用服务解决此问题:

              使用 FTP 或 Kudu 仪表板将此文件添加到 wwwroot 上一级--

              /site/applicationHost.xdt:

              <?xml version="1.0" encoding="utf-8"?>
              <configuration xmlns:xdt="http://schemas.microsoft.com/XML-Document-Transform">
                <system.webServer>
                  <staticContent>
                    <mimeMap fileExtension=".json" mimeType="application/json" xdt:Transform="InsertBefore(/configuration/system.webServer/staticContent/*[1])" />
                  </staticContent>
                </system.webServer>
              </configuration>
              

              然后,在 Azure 门户中的应用程序设置下,添加一个处理程序映射:

              .json      C:\WINDOWS\system32\inetsrv\asp.dll
              

              【讨论】:

                猜你喜欢
                • 1970-01-01
                • 2014-02-15
                • 1970-01-01
                • 2011-09-19
                • 1970-01-01
                • 1970-01-01
                • 2019-02-14
                • 1970-01-01
                • 1970-01-01
                相关资源
                最近更新 更多