Ashley01 Ответов: 0

Приложение 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?

0 Ответов