【问题标题】:After webapp was deployed to azurewebsites.net, cannot load xml file from subfolder将 webapp 部署到 azurewebsites.net 后,无法从子文件夹加载 xml 文件
【发布时间】:2017-10-09 22:06:07
【问题描述】:

我有一个 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":[null],"transformResponse":[null],"jsonpCallbackParam":"callback","url":"data/bookmarks.json","headers":{"Accept":" application/json, text/plain, /"}},"statusText":"未找到"}

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

【问题讨论】:

    标签: angularjs azure


    【解决方案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> 
    

    【讨论】:

    • 它不是asp.net应用,只有html和javascript
    • web.config 设置不限于 asp.net 网络应用程序。尝试使用这些设置添加 web.config 文件。
    猜你喜欢
    • 2020-02-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-09-14
    • 2012-05-10
    • 2022-01-08
    • 1970-01-01
    • 2012-02-08
    相关资源
    最近更新 更多