Http,用rxjs和angular2从服务器获得响应

时间:2016-07-16 13:32:37

标签: http angular rxjs

我不知道我做错了什么,我没有从服务器得到任何使用Http的响应。如果有人可以深入了解,我将项目添加为plunker。

https://plnkr.co/edit/3HybQY3vcsCImbuFCWrP?p=preview

post.service.ts

  getPosts(){
   return this._http.get("http://jsonplaceholder.typicode.com/posts")
                    .map(res => res.json());
  }

app.component.ts

constructor(private _postService: PostService) {
    _postService.getPosts()
               .subscribe(res => console.log(res));
  }

3 个答案:

答案 0 :(得分:0)

您正在进行跨域请求

您需要向http请求标头添加一些人员:

Access-Control-Allow-Origin: *

更多详情:How to create cross-domain request (Angular 2)?

答案 1 :(得分:0)

没有任何错误,重新启动我的Lite服务器时工作。

答案 2 :(得分:0)

您的代码中存在两个主要错误,即您的代码没有按预期运行。

  1. 您正在使用Http请求响应,但您尚未在配置文件中配置@angular/http设置,因此您必须将其添加到文件中。

    '@angular/http': {
      main: 'bundles/http.umd.js',
      defaultExtension: 'js'
    },
    
  2. 您正试图通过http获取请求,其中angular2不允许,因此您必须更改您的网址

    http://jsonplaceholder.typicode.com/posts
    

    https://jsonplaceholder.typicode.com/posts
    
  3. 这是您的工作代码演示

    Working Example