Не удалось загрузить данные json на https-сервер, то же самое отлично работает на локальном

Я использую статические данные из папки "assets", импортировав следующим образом:

import programmeManagment from './../../../assets/mock-json/programme-management.json';

и использовать в сервисе, например:

return of(JSON.parse(JSON.stringify(programmeManagment)));

он отлично работает на локальном хосте. когда я перемещаю код на сервер, он показывает ошибку как:

https:xxx.azurewebsites.net/assets/mock-json/programme-management.json 404 Not Found ответ отображается как:

The resource you are looking for has been removed, had its name changed, or is temporarily unavailable.

как это придумать?


person 3gwebtrain    schedule 26.09.2019    source источник
comment
что происходит, когда вы вставляете https:xxx.azurewebsites.net/assets/mock-json/programme-management.json в браузере, скачал или открыл файл?   -  person jitender    schedule 26.09.2019
comment
@jitender: The resource you are looking for has been removed, had its name changed, or is temporarily unavailable.   -  person 3gwebtrain    schedule 26.09.2019
comment
это может помочь microdesigncentre.com/   -  person jitender    schedule 26.09.2019
comment
@ 3gwebtrain Похоже, эта ./../../../ часть может попасть в неправильный каталог для поиска файла   -  person Prashant Pimpale    schedule 26.09.2019
comment
@Prashant, но он отлично работает с локальным хостом, верно?   -  person 3gwebtrain    schedule 26.09.2019
comment
Да, согласен! какой у вас базовый URL при сборке / публикации? или вы написали какие-либо правила перезаписи URL?   -  person Prashant Pimpale    schedule 26.09.2019
comment
Еще одно сообщение SO, связанное с вашим вопросом stackoverflow.com/questions/38054707/   -  person jitender    schedule 26.09.2019
comment
@Prashant: @base url в index.html -? <base href="/">   -  person 3gwebtrain    schedule 26.09.2019
comment
@ 3gwebtrain Хорошо, а как насчет второго вопроса? о роли переписывания URL на сервере?   -  person Prashant Pimpale    schedule 26.09.2019
comment
Я не пишу никаких правил перезаписи URL, это будет в файле tsconfig, верно? ничего нет. базовый URL конфигурации: "baseUrl": "./",   -  person 3gwebtrain    schedule 26.09.2019
comment
@ 3gwebtrain Нет, это должно быть написано на сервере IIS / Azure проверьте это или выполните поиск + это   -  person Prashant Pimpale    schedule 26.09.2019


Ответы (3)


Попробуйте вот так:

this.http.get('./../../../assets/mock-json/programme-management.json').subscribe( res => {
    console.log(res)
})
person Adrita Sharma    schedule 26.09.2019
comment
Я уже пробовал, но безуспешно. то, что я обновил с вопросом, - это новая попытка. - person 3gwebtrain; 26.09.2019

Убедитесь, что файл program-management.json доступен в вашем расположении.

Если нет, попробуйте изменить специальный символ в имени файла.

вместо того,

program-management.json.

использовать этот,

programmemanagement.json

person rafi muhammad    schedule 26.09.2019

Я предложил прашат, исправил проблему. поделиться для других, чтобы использовать его. взял ответ отсюда: Host Angular 7 в сети Azure проблема с перезаписью URL приложения

 "assets": [
      "src/assets",
      "src/favicon.ico",
      "src/web.config" <---- Removed this line
    ],
person 3gwebtrain    schedule 26.09.2019