Является ли ответ, который вы получаете верным JSON?Можете ли вы опубликовать то, что вы получаете от API?Похоже, что он пытается проанализировать JSON, но он получает что-то еще, может быть строку?Если это так, вам нужно указать responseType для службы HTTP.Если это строка, вам нужно указать, что вы ожидаете получить «текст».
Это метод перегрузки службы HTTP Angulars, который вы должны использовать: (при условии, что вы получаете строку):
/**
* Construct a POST request which interprets the body as text and returns it.
*
* @return an `Observable` of the body as a `string`.
*/
post(url: string, body: any | null, options: {
headers?: HttpHeaders | {
[header: string]: string | string[];
};
observe?: 'body';
params?: HttpParams | {
[param: string]: string | string[];
};
reportProgress?: boolean;
responseType: 'text';
withCredentials?: boolean;
}): Observable<string>;
Ваше сообщение должно выглядеть примерно так:
login(username: string, password: string): Observable<any>{
return this.http.post<any>(`http://localhost:50518/api/Employee`, {
username: username,
password: password
}, {
headers : this.header,
observe : "body",
responseType : "text"
});
}
Насколько я понимаю, здесь есть две проблемы: во-первых, ваш клиентский код ожидает JSON, потому что вы используете универсальныйпараметр в пост-вызове, но вы возвращаете строку из API.Если вы решите вернуть строку из API, вам нужно удалить универсальный параметр из http.post
И в своем коде API вернуть Ok ('ваша строка здесь')