错误 404.3 未找到 JSON 文件

Posted

技术标签:

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

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

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

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

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

【问题讨论】:

【参考方案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

    转到 II

    选择网站

    在 IIs 下双击 Mime 类型图标

    点击右侧的添加链接

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

    点击确定。

选项 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

【讨论】:

以上是关于错误 404.3 未找到 JSON 文件的主要内容,如果未能解决你的问题,请参考以下文章

IIS 和 PHP:HTTP 错误 404.3 - 未找到:由于扩展配置,无法提供您请求的页面

在IIS上抛出异常的WCF托管(没有权限和HTTP错误404.3 - 未找到)

[ app.json 文件内容错误] app.json: app.json 未找到?

HTTP 错误 404.3 – Not Found 由于扩展配置问题而无法提供您请求的页面。如果该页面是脚本,请添加处理程序。如果应下载文件,请添加 MIME 映射。

IIS内部署WCF服务出错:HTTP 错误 404.3 - Not Found

HTTP 错误 404.3 – Not Found 由于扩展配置问题而无法提供您请求的页面。如果该页面是脚本,请添加处理程序。如果应下载文件,请添加 MIME 映射。