각도 2를 사용하여 요청을 받고 게시물을 요청합니다. 내 요청을 잘 작동하지만, 내 게시물에 대한 내 Firebug Net 패널을 확인하면 요청이 이루어지지 않습니다.각도 2의 HTTP 게시물 요청이 호출되지 않고 있습니다.
코드 방법은 다음과 같습니다. 또한 컴포넌트 클래스에서 호출하는 메소드를 등록했습니다.
import {Injectable} from "angular2/core";
import {Http, Response, Headers, RequestOptions, Jsonp, URLSearchParams} from "angular2/http";
import { Observable } from 'rxjs/Observable';
import 'rxjs/add/operator/map';
@Injectable()
export class MyService{
constructor (private _http: Http){}
testPost(){
var json = JSON.stringify({"userId": 111, "givenName": "CZ"});
var body = "json="+json;
var headers = new Headers({ 'Content-Type': 'application/json' });
var options = new RequestOptions({ headers: headers });
return this._http.post("http://mylocal.post.url", body, options)
.map(this.extractData)
.catch(this.handleError);
}
private extractData(res: Response) {
alert("test whether this method is reached");
let body = res.json();
return body.data || { };
}
private handleError (error: any) {
alert("test whether this method is reached");
let errMsg = (error.message) ? error.message :
error.status ? `${error.status} - ${error.statusText}` : 'Server error';
console.error(errMsg); // log to console instead
return Observable.throw(errMsg);
}
//testGet method is running well
testGet(link:string){
return this._http.get(link)
.map(res => res);
}
}
내 구독 방법 onTestPost()는 페이지의 단추에 할당됩니다.
onTestPost(){
this.myService.testPost()
.subscribe(
data => this.getData = JSON.stringify(data),
error => alert(error),
() => console.log("Finished")
);
}
두 가지 도우미 메서드의 시작 부분에 경고문을 넣었습니다. 경고가 표시되지 않습니다. Firebug로 디버깅 할 때 내 로컬 게시물 url에 요청 된 요청이 표시되지 않습니다.
내 testGet 메서드가 올바르게 작동하는 동안 testPost에 대해 누락 된 것이 무엇인지 알 수 없습니다.
코드는 괜찮아 보입니다를 참조하십시오, 당신이 정말로 제대로 가입하지 않은 대부분. – dfsq
다만, 모의 백엔드 같은 것이 요청을 포착하지 못하는지 확인하십시오. –