백엔드에서 REST API로 작은 Angular 프런트 엔드 지원을 구축하고 있지만 매우 이상한 문제가 발생했습니다. http.post (url, data, params)를 수행하면 아무 일도 일어나지 않습니다 (요청이 webserver, Chrome 개발자 도구에는 this.http.get () 요청과 달리 기록 된 요청이 전혀 없습니다. 동일한 서버의 URL에 대해 잘 작동합니다).
export class RestComponent {
constructor ( private http: Http ) {}
sendStuff() {
let headers = new Headers({ 'Content-Type': 'application/json' });
let options = new RequestOptions({ headers: headers });
this.http.post('http://localhost:3021/api/data', {'data': 3}, options)
.catch(this.handleError);
}
}
꽤 분명하지만 나를 피할 수있는 것이 틀림 없기 때문에 나는 꽤 멍청하다고 느낍니다. 두 가지 방법, 하나는 게시물을 통해 하드 코딩 된 데이터를 전송하고 다른 하나는 get을 통해 하드 코딩 된 json을 가져 오는 간단한 구성 요소를 만들었습니다. 두 번째는 작동하지만 첫 번째는 그렇지 않습니다.
어떤 조언을 주시면 감사하겠습니다.
감사!
본질적으로 당신은 관찰 가능한 것을 만들었고 Observable은 본질적으로 게으르다. 누군가가 구독 한 경우에만 전화 / 발신을받습니다. 따라서 subscribe
코드가 작동하도록하려면 Observable에서 반환 된 Observable 을 호출 해야합니다. 이 외에는 모든 것이 완벽 해 보입니다.
sendStuff() {
let headers = new Headers({ 'Content-Type': 'application/json' });
let options = new RequestOptions({ headers: headers });
return this.http.post('http://localhost:3021/api/data', {'data': 3}, options)
.catch(this.handleError)
.subscribe(
(data) => console.log(data)
);
}
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다