Приложение Angular7 не может достичь API после публикации
У меня есть приложение Angular 7 с.Net core 2.1, Как только приложение публикуется, оно не может достичь API, что означает, что никакие вызовы не могут быть сделаны, но до того, как я опубликовал приложение, все работало нормально.
В чем может быть проблема и как я могу это исправить?
Пример вызова в моем коде, который проверяет, доступен ли API:
(это первый звонок в моем приложении)
let availabilityHTTPCall = this.http.get("/v1/CheckAvailability"); availabilityHTTPCall.subscribe( (result: boolean) => { this._webApiUnavalable = result; this.wizardOpen = true; console.log("HTTP Call returned data without error!", result); }, (error) => { console.log("HTTP Call returned an error!", error); this._webApiUnavalable = false; }, () => { console.log("HTTP Call complete!"); this.PlacesOfService(); this.LoadPhCodes(); } );
Как выглядит API в контроллере:
[HttpGet] [Route("CheckAvailability")] public Boolean CheckAvailability() { return true; }
Ошибка, которую я получаю от своего звонка:
"Http failure during parsing for http://localhost/"
"Unexpected token < in JSON at position 0"
Что я уже пробовал:
я попытался вставить хэштег перед моим URL-адресом моего вызова API, который не сработал, так как это сработало для исправления перезагрузки моих страниц после публикации.
CHill60
Без каких-либо реальных подробностей все, что я могу сказать, это ... это "API" , установленный на сервере, на котором размещается ваше приложение. Вероятно, он работал до публикации, потому что вы установили его на свою собственную машину
Ashley01
Да, он установлен. Я использую IIS express(не знаю, поможет ли это)
Wastedtalent
Пробовали ли вы записывать вызовы, URL-адреса и сообщения об ошибках в консоль, чтобы получить лучшее представление о том, что вызывается и возвращается ответ?
Ashley01
я обновил свой вопрос с примером моего кода и ошибкой, которую я получаю
Richard Deeming
"Неожиданный токен < в JSON в позиции 0"
Похоже, что IIS возвращает HTML-страницу вместо ожидаемого JSON. Попробуйте использовать вкладку Сеть в инструментах разработчика Вашего браузера, чтобы изучить запрос и ответ, чтобы увидеть, дает ли это вам какие-либо подсказки.
this.http.get("/v1/CheckAvailability")
Развернут ли ваш API в корневой папке вашего сайта IIS?