66

即使在我激活了所有“应用程序开发功能”之后,我仍然在“Internet Information Services 7.5”上使用 AJAX 调用调用 JSON 文件的“ERROR 404.3 Not Found”。除了 JSON 文件,所有其他文件都在加载。

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

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

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

4

8 回答 8

109

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

  <system.webServer>
    <staticContent>
      <mimeMap fileExtension=".json" mimeType="application/json" />
    </staticContent>
  </system.webServer>
于 2014-04-15T18:13:18.240 回答
33

正如@elasticman 所说,有必要打开 IIS 管理器 -> Mime 类型 -> 添加新的 mime 类型

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

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

插入

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

你内心的某个地方

<system.webServer>
    ...
</system.webServer>
于 2014-04-04T15:50:17.980 回答
29

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

于 2013-04-11T08:55:20.267 回答
10

选项1

  1. 前往 II

  2. 选择网站

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

  4. 点击右侧的添加链接

  5. 文件扩展名 = .json Mime 类型 = application/json

  6. 单击确定。

选项 2

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

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

我希望你的问题得到解决

于 2017-12-28T05:19:03.780 回答
9

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

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

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

于 2015-03-19T22:56:00.053 回答
6

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


1.打开IIS管理器

2.显示IIS服务器的属性

3.单击 MIME 类型,然后添加 JSON 扩展:

文件扩展名:.json

MIME 类型:应用程序/json

4.回到IIS服务器的属性

5.点击处理程序映射

添加脚本映射

请求路径:*.json

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

于 2014-09-22T05:19:45.173 回答
0

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

于 2016-07-22T08:48:54.510 回答
0

要使用 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
于 2017-04-21T20:07:03.950 回答