Я использую Angular 4 и Spring framework для создания своего проекта. и это моя проблема
{error: SyntaxError: Неожиданный токен A в JSON в позиции 0 в JSON.parse () в XMLHttp…, текст: «AAA»}
Я хочу прочитать строку AAA, но консоль показывает мне эту ошибку.
Мой бэкэнд-код:
@PostMapping(value = "login")
public ResponseEntity<?> verifyLogin(@RequestBody String login){
System.out.println("LOGIN REALIZADO");
LoginObject loginO = gson.fromJson(login, LoginObject.class);
if (verify(loginO)){
return new ResponseEntity<String>("AAA",HttpStatus.OK);
}else{
return new ResponseEntity<String>("ERROR-LOGIN",HttpStatus.OK);
}
}
Моя внешняя служба:
export class LoginService{
private url = 'http://localhost:8080/login';
constructor(private http: HttpClient){}
loginQuery(login: Login):Observable<string>{
return this.http.post<string>(this.url,JSON.stringify(login));
}
}
и мой интерфейс
onSingin (форма: NgForm) {
if ( (form.value.code !== '') && (form.value.password !== '')){
this.loginService.loginQuery(new Login(form.value.code, form.value.password)).
subscribe(
result => this.verifyLogin(result.toString())
);
}
}
когда я вызываю verifyLogin, консоль показывает мне ошибку

Вместо использования простой строки AAA, которая не является допустимой Json, используйте карту строки в ResponseEntity<Map<String, String>>
export class LoginService{
private url = 'http://localhost:8080/login';
constructor(private http: HttpClient){}
loginQuery(login: Login):Observable<string>{
// Your previous code:
// return this.http.post<string>(this.url,JSON.stringify(login));
// Updated with details from (https://angular.io/guide/http#requesting-non-json-data)
return this.http.post<string>(this.url, JSON.stringify(login), {responseType: 'text'});
}
}@LucasAlves => Если это сработает для вас, не могли бы вы принять это как ответ, чтобы другие, просматривающие страницу в будущем, знали об этом?
Что ж, AAA недействителен JSON, и вы говорите HttpClient, что ожидаете JSON. Пора читать документацию: angular.io/guide/http#requesting-non-json-data