将webapp部署到azurewebsites.net后,无法从子文件夹加载xml文件

时间:2017-10-09 13:55:05

标签: angularjs azure

我有一个AngularJS应用程序。

我有以下文件夹结构:

ROOT
-app
-data
index.html

在我的服务中,我加载了位于数据文件夹中的bookmarks.xml文件:

this.$http.get('data/bookmarks.json').then(...)

当我在本地运行网站时:http://localhost:8080一切正常,文件已加载并呈现。

将我的应用程序部署到Microsoft Azure,azurewebsites.net后,我收到此错误消息,其中我的代码加载了bookmarks.json文件:

  

可能未处理的拒绝:{“data”:“您要查找的资源已被删除,名称已更改,或暂时不可用。”,“status”:404,“config”:{“method”: “GET”, “transformRequest”:[空], “transformResponse”:[空], “jsonpCallbackParam”: “回调”, “URL”: “数据/ bookmarks.json”, “标题”:{ “接受”:” application / json,text / plain, / “}},”statusText“:”Not Found“}

知道为什么会这样吗?看起来无法在数据文件夹中找到该文件。文件当然在那里。试过“/data/bookmarks.json” - 没效果。

1 个答案:

答案 0 :(得分:1)

在您的web.config中,查看该部分。此部分确定允许Web应用程序提供的MIME类型。如果您希望能够下载.json文件,请确保您具有以下内容:

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

如果您还没有web.config文件(例如,如果您只是提供静态内容),请将其添加为您的web.config:

<?xml version="1.0"?>
<configuration>
    <system.webServer>
        <staticContent>
            <mimeMap fileExtension=".json" mimeType="application/json" />
     </staticContent>
    </system.webServer>
</configuration>