我可以在 angular2 中返回原始 json 响应吗

2024-02-25

angular2 是否可以返回原始 json 响应?前任。

成分

getrawJson(){
    this.someservice.searchJson()
    .subscribe( somelist => this.somelist = somelist,
                 error => this.errorMsg = <any>error);
}

用于服务

    searchJson(num: number, somestring: string, somestring2: string): Observable<stringDataObj> {

        let body = JSON.stringify({"someJsonData"[{num, somestring, somestring2}]}); 
        let headers = new Headers({ 'Content-Type': 'application/json' });
        let options = new RequestOptions({ headers: headers });


        return this.http.post(URL, body, options)
                        .map(this.jsonObj)
                        .catch(this.handleError);

      }


private jsonObj(res: Response) {
    let body;
    return body{ };
}

上面的实现返回 Array 。有没有办法获取服务返回的原始 json 数据?我期望得到如下所示的 json 响应

{ “数据参数”:[ { “数字”:“08”, “一些字符串”:“2016-10-03”, “somestring2”:“2016-10-03” }], “一些数据列表”:[ { “一”:“08”, “二”:1, "三": "2016-10-03" }] }

Thanks!


是的,当然可以!

实际上 angualar2 以以下形式返回 ResponseObservable而不是像 Angular1.x 中的 Promise 那样,为了将该可观察量转换为原始 Json 格式,我们必须使用 Angular2 的默认方法,即

res.json()

除了以下之外没有其他方法.json()由 Angular 提供,可以在此处描述以获取更多信息。

方法包括

  • res.text()
  • 恢复状态
  • res.statusText ETC

https://angular.io/docs/ts/latest/api/http/index/Response-class.html https://angular.io/docs/ts/latest/api/http/index/Response-class.html

update

像这样使用你的代码

return this.http.post(URL, body, options)
                        .map(res => {return res.json()})
                        .catch(this.handleError);

      }
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

我可以在 angular2 中返回原始 json 响应吗 的相关文章

随机推荐