Я обновляю свое приложение с Angular 1.6 до Angular 6, и я застреваю на экране входа в систему.Ниже приведен фрагмент кода того, что я пытаюсь сделать -
const body = new URLSearchParams();
body.set('username', 'admin')
body.set('password', 'admin');
this.http.post('/log-in',
body,
{
headers: new HttpHeaders()
.set('Content-Type', 'application/x-www-form-urlencoded')
}
).subscribe((response: Response) => {
// Do something here
}
Это ошибка, которую я получаю, даже если ответ от сервера 200 -
SyntaxError: Unexpected token < in JSON at position 0
at JSON.parse (<anonymous>)
at XMLHttpRequest.onLoad (http.js:1514)
at ZoneDelegate.push../node_modules/zone.js/dist/zone.js.ZoneDelegate.invokeTask (zone.js:423)
at Object.onInvokeTask (core.js:3811)
at ZoneDelegate.push../node_modules/zone.js/dist/zone.js.ZoneDelegate.invokeTask (zone.js:422)
at Zone.push../node_modules/zone.js/dist/zone.js.Zone.runTask (zone.js:195)
at ZoneTask.push../node_modules/zone.js/dist/zone.js.ZoneTask.invokeTask [as invoke] (zone.js:498)
at invokeTask (zone.js:1744)
at XMLHttpRequest.globalZoneAwareCallback (zone.js:1781)
Очевидно,Ожидаемый ответ - JSON, но я получаю HTML-страницу
{error: SyntaxError: Unexpected token < in JSON at position 0
at JSON.parse (<anonymous>)
at XMLHtt…, text: "<!DOCTYPE html>↵<html lang="en" layout ng-app="pfs…rc="scripts/index.js"></script>↵↵</body>↵</html>↵"}
Я много искал, чтобы выяснить, как это исправить, но пока не достиг прогресса.Попробовал предложения в
POST-запрос HttpClient с использованием x-www-form-urlencoded
Как заставить Angular2 выполнить POST с помощью x-www-form-urlencoded
Но ни одна из них не устранила проблему.Я также пытался изменить responseType httpOptions и все еще сталкивался с той же ошибкой.
Это рабочий код AngularJS (1.6) -
var postHeaders = {
'Content-Type': 'application/x-www-form-urlencoded'
};
$http({
method: 'POST',
url: '/log-in',
data: $httpParamSerializerJQLike(
{username: username, password: password}),
headers: postHeaders,
}).then(function (success) {
// Do something
}
Любая помощьс благодарностью