javascript - Angular 2 和 C# API - 未处理的 Promise 拒绝 : ReferenceError: _body is not defined

标签 javascript c# angularjs angular typescript

我有一个用 C# 编写的工作 API,它返回如下内容:

        status: 200, 
        ok: true, 
        statusText: "OK", 
        url: "http://localhost:53619/api/EventList/All"
        _body: "[
            {
            "id":"6eb057be-1c27-4d92-83cc-95216dc1b21b",
            "user":{"id":"mail@mail.org",
            "firstname":"name",
            "lastname":"lastname",
            "email":"mail@mail.com",
            "avatar_url":"string"},
            "project":
                {   "id":0,
                    "name":"super project",
                    "description":"woop woop",
                    "created":"2016-09-15T10:09:17.425Z",
                    "autodesk_client_id":"123456",
                    "autodesk_client_secret":"123"},
                    "title":"Jan lagde et super prosjekt",
                    "content":"test",
                    "icon":"string",
                    "type":"string",
                    "properties":"string",
                    "datetime":"2016-09-15T12:16:56.6826078+02:00"}
            ]

这是来自 C# API 的默认响应。 HTTP状态码、url、消息等。然后有一个变量_body包含我实际需要的json数据。

然后在 Angular 2 中我可以通过以下方式获取数据:

  get(data: User): Promise<Event[]> {

    let body = JSON.stringify(data);
    let headers = new Headers({ 'Content-Type': 'application/json' });
    let options = new RequestOptions({ headers: headers });
    return this._http
      .post(this.apiUrl + '/All', body, options)
      .toPromise()
      .then(res => {
        console.log(res);
        return res._body.json();  <--------- ERROR (_body not defined)
      })
      .catch(this.handleError);

  }

这效果很好,我得到了所有数据并将其打印在控制台中。 但 Angular 拒绝接受 Response 包含变量 _body 并崩溃!

我该如何解决这个问题? 谢谢

最佳答案

你应该使用return res.json()._body;

关于javascript - Angular 2 和 C# API - 未处理的 Promise 拒绝 : ReferenceError: _body is not defined,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39569474/

相关文章:

Javascript:选中复选框时启用复选框列表(带原型(prototype))

javascript - 为什么我应该在 AngularJS 中使用隔离范围指令?

angularjs - AngularJS 中使用 ng-repeat 的条件内容

c# - 如何为 SharePoint 网站中的任何更改创建每日摘要警报

javascript - 无法通过使用 Angular.js 从表中输入名称的任何部分来进行搜索

javascript - 使 best_in_place 输入看起来像 Bootstrap 输入

javascript - 如何向本地托管的 Node.js 服务器发出 jQuery 请求?

javascript - 等待用户操作

c# - 从流阅读器中读取一行而不消耗?

c# - 关于C#中引用字符串的问题