Проблема в том, что ваш ответ от GetString
возвращает просто строку значения Hello World
, как показано на скриншоте из Почтальона. Конечная точка GetCategories
должна возвращать действительный JSON, если вы получаете правильный ответ.
По умолчанию Angular предполагает, что тип ответа HttpRequest
имеет тип json
.
Чтобы исправить это, укажите в качестве второго параметра http.get()
ожидаемое от сервера responseType
, которое в вашем случае для конечной точки GetString
будет 'text'
. Таким образом, ваш http.get()
вызов должен выглядеть следующим образом:
http.get<string>(baseUrl + 'api/ajax/GetString', { responseType: 'text' }).subscribe(result => {
console.log(result);
}, error => console.error(error));
Если вы намеревались вернуть действительный JSON из GetString
, то вам необходимо отформатировать ответ с вашего сервера соответствующим образом.
См. Angular документацию по HttpRequest - responseType . Я включил копию ниже.
responseType: 'arraybuffer' | 'blob' | 'json' | 'text'
Ожидаемый тип ответа сервера.
Используется для надлежащего анализа ответа перед возвратом. это запрашивающему.