Я написал код, чтобы отправить запрос на конечную точку в Angular 4. Вот мой код...
import { Component, OnInit } from "@angular/core";
import { HttpClient, HttpClientModule } from "@angular/common/http";
import { HttpHeaders } from "@angular/common/http";
import "rxjs/add/operator/map";
@Component({
templateUrl: "./name.component.html",
styleUrls: ["./name.component.css"]
})
export class nameComponent implements OnInit {
constructor(private http: HttpClient) {}
ngOnInit() {
console.log("init");
}
saveForm() {
let names = [
{
name: "Bob"
}
];
JSON.stringify(names);
let headers = new HttpHeaders();
headers.append("Accept", "application/json");
headers.append("Content-Type", "application/json");
headers.append("Authorization", 'my_token');
this.http
.post("endpoint", names, {
headers: headers
})
.subscribe(err => console.log(err));
}
}
Это код, который у меня есть на странице html, которая вызывает вызов POST
<button
type="button"
(click)="saveForm()"
>
Save
</button>
Когда я перехожу на страницу и нажимаю кнопку, я получаю ошибку 400 (неудачный запрос).
message: "Http failure response for endpoint: 400 Bad Request"
name: "HttpErrorResponse"
ok: false
status: 400
statusText: "Bad Request"
url: "endpoint"
Я заменил слово "конечная точка" на настоящий URL.
У меня нет синтаксических ошибок, но что может вызвать 400? Я попытался попасть в конечную точку через LoopBack API Explorer, и это сработало.
Я ценю любую помощь, которую кто-то может мне дать!
Вы не сохраняете вывод JSON.stringify(), так что вы используете объект, а не строку при создании POST:
names = JSON.stringify(names);
Bad Request
. Что бы ни ожидала конечная точка, она этого не получает.