在Angular2中使用POST调用可观察

时间:2017-05-11 06:38:30

标签: angular2-forms angular2-services angular2-observables

我在我的应用程序中使用Angular2。我看到了在调用http调用时使用Observable的优点。但不知何故,当我使用Observable进行POST请求时,我无法拨打电话,但它在GET请求时正在工作。如果我使用订阅方法,那么POST正在运行。

以下是我的代码,

使用Observable,

AddBreakoutsManually(breakoutUploads: Uploads): Observable<boolean> {
        console.log("Data = ", JSON.stringify(breakoutUploads));
        let headers = new Headers({ 'Content-Type': 'application/json' });
        let options = new RequestOptions({ headers: headers }); 

        return this.http.post("/breakout/InsertUploads", JSON.stringify(breakoutUploads), options)
            .map((res: Response) => res.json())
            .catch((error: any) => Observable.throw(error.json().error || 'Server error'));
    }

使用subscribe,

Adding(breakoutUploads: Uploads) {
        let headers = new Headers({ 'Content-Type': 'application/json' });
        let options = new RequestOptions({ headers: headers }); 

        this.http
            .post('/breakout/InsertUploads', JSON.stringify(breakoutUploads), options)
            .subscribe(data => {
                alert('ok');
            }, error => {
                console.log(error.json());
            });
    }

我的API,

[HttpPost]
        public bool InsertUploads([FromBody]BreakoutUpload breakoutUploads)
        {
            return true;
        }

在POST调用中使用observable时我犯了什么错误?

1 个答案:

答案 0 :(得分:0)

不知道我改变了什么,但它开始使用下面的代码,

_db.SaveChangesAsync();