Как получить доступ к локальным файлам веб-сайта Azure с помощью jquery? - PullRequest
0 голосов
/ 20 июня 2019

Я развернул приложение AngularJS в службе приложений Azure, и ему необходимо получить доступ к локальному файлу config.json до начальной загрузки. Как разрешить службам приложений Azure передавать файл config.json в приложение AngularJS?

Я попытался создать виртуальный каталог, который соответствует пути к файлу; Я попытался настроить web.config веб-сайта для обслуживания файлов .json. Я проверил все пути к файлам, а также попытался определить полный путь вместо использования относительного пути.

angular.element(document).ready(() => {
    $.get("config/config.json", (response) => {
        angular.module('myApp').config((configurationProvider) => {
            configurationProvider.initialize(response);
        });

        angular.bootstrap(document, ['myApp']);
    });
});

Приведенный выше код работает должным образом, когда приложение размещается локально в IIS и IIS Express. Однако при развертывании приложения в Azure оно возвращает следующее сообщение

"Ресурс, который вы ищете, был удален, его имя изменилось или временно недоступно.".

1 Ответ

0 голосов
/ 21 июня 2019

Я решил свою проблему. Мне нужно было внести два изменения, чтобы приложение и сервер запрашивали и отвечали правильно.

Сначала я изменил код приложения на:

angular.element(document).ready(() => {
    $.getJSON("config/config.json", (response) => {
        angular.module('myApp').config((configurationProvider) => {
            configurationProvider.initialize(response);
        });

        angular.bootstrap(document, ['myApp']);
    });
});

Во-вторых, я добавил Web.config в каталог веб-сайта:

<?xml version="1.0" encoding="utf-8"?>
<configuration>
  <system.webServer>
    <staticContent>
      <remove fileExtension=".json" />
      <mimeMap fileExtension=".json" mimeType="application/json" />
    </staticContent>
  </system.webServer>
</configuration>

Оба требуются в службах приложений Azure.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...