加载.json文件会产生404个错误
我的第一个Azure网站是一个简单的测试网站,我已经有一段时间了,它可以通过ajax调用服务器获取JSON数据。所有数据文件都有.json扩展名。Azure将不会“看到”这些文件。如果我将扩展名改为.txt,它会很好地为它们服务加载.json文件会产生404个错误,json,azure,Json,Azure,我的第一个Azure网站是一个简单的测试网站,我已经有一段时间了,它可以通过ajax调用服务器获取JSON数据。所有数据文件都有.json扩展名。Azure将不会“看到”这些文件。如果我将扩展名改为.txt,它会很好地为它们服务 我必须使用IIS才能看到这个.json吗?是否尝试将特定的MIME类型添加到服务器的配置文件中 如果将mime类型添加为 application/json;字符集=utf 这应该行得通。引用Ahmed Sabbour的博客文章,你必须做到以下几点: “如果您将.jso
我必须使用IIS才能看到这个.json吗?是否尝试将特定的MIME类型添加到服务器的配置文件中 如果将mime类型添加为
application/json;字符集=utf
这应该行得通。引用Ahmed Sabbour的博客文章,你必须做到以下几点: “如果您将.json文件上载到Windows Azure网站并尝试访问它,则会出现404 file Not Found错误,因为默认情况下未设置.json的MIME类型。这通常也适用于可能需要特定MIME类型的任何文件 若要解决此问题,请将FTP发送到您的网站并上载以下Web.config文件,该文件将设置正确的MIME类型。如果您已经有了Web.config文件,只需将以下内容添加到相应的部分
<?xml version="1.0"?>
<configuration>
<system.webServer>
<staticContent>
<mimeMap fileExtension=".json" mimeType="application/json" />
</staticContent>
</system.webServer>
</configuration>
“。我这样做了,404就不见了。我也发现艾哈迈德·萨博的博客文章很有帮助,但它给我带来了另一个问题。当我尝试在本地运行Azure Web应用程序时,修复程序对该应用程序起到了作用,但它却可怕地死掉了,到处都是HTTP 500.19。我花了一段时间才弄明白如何在维护单个web.config的同时解决这个问题。解决方案是(尽管有点假)先删除文件扩展名,然后再将其添加回:
<staticContent>
<remove fileExtension=".json" />
<mimeMap fileExtension=".json" mimeType="application/json" />
</staticContent>
就我的狭隘目的而言,这很好,我希望这可以节省一些人试图弄明白这一点的时间 Azure(至少是云服务)似乎知道如何从部署的ASP.NET MVC项目中提供JSON。在我的例子中,问题是JSON文件属性页上的构建操作设置不正确。将构建操作更改为内容为我修复了它。duplicate of for me,它仅适用于mimeMap行,但如果我还包括“remove”行,则失败。@JesseSierks Yours的评论解决了我的问题。谢谢你,兄弟!这将取消IIS中已设置的所有其他内容。如果你有CSS、JS或图像,很有可能你必须在web.config文件的这一部分重新声明它们。为了补充这个非常好的答案,如果你正在使用react,用以下方式将这个web.config复制到构建文件夹(使用npm react build)(归功于Liviu Costea):谢谢你。我一直在绞尽脑汁想弄清楚为什么我的manifest.json文件会出现404错误,我认为这是mime类型的问题,而实际上这是我的问题;构建操作设置为“无”。它对我有效。之前我添加了“mimeType=application/json;”,但没有成功。