1

我在这里遇到了一些问题,我混合使用 Angular2 和 Nativescript 的原生 JS 来使用 HTTP,因为在此实现之前我遇到了 Angular2 HTTP 的问题,但是我对如何从 http 请求中放置 JSON 响应感到沮丧到 monthList 变量,以便可以在任何地方读取它。请帮忙,谢谢。

这是我的代码:

public monthList = [];


    constructor(location: Location, private page: Page, private router: Router, private testing: any) {
        this.router = router;
        this.testing = testing;
        let http = require("http");


        http.getJSON("link")
            .then(function (r) {
                // Argument (r) is JSON!
            }, function (e) {
                // Argument (e) is Error!
                console.log(e);
            });

    }
4

2 回答 2

1

在您的 .then 中,您将返回对象设置为您的 monthList

this.monthList = r;

尝试执行 console.dump(r) 并查看返回的内容。您可能必须执行类似 r.xxx 的操作,或者它是结构化的。

然后你可能会做类似的事情

this.monthList.month 

并访问当月的数据等等。或者你可能需要做类似的事情

this.monthList[0].month.

例如,在我的项目中,我返回了一个嵌套的 JSON 对象,我需要将其设置为 r.value.data 之类的东西。

于 2016-07-24T02:05:15.197 回答
0

您遇到了特定问题吗?我认为它很简单:

class SomeAngularClass {
  constructor() {
    http.getJSON("link")
      .then(function(r) {
        this.monthList.push(r);
      }, function (e) {
        console.log(e);
      });
  }
}

然后您可以通过以下方式访问它:

SomeAngularClass().monthList;
于 2016-07-24T02:00:08.233 回答