从 HTTP 远程服务器获取 Angular 2 的 JSON 失败,但在本地成功

Getting JSON for Angular 2 from HTTP remote server fails, but succeeds localy

我正在尝试使用 Angular2 中的 htttp.get 读取 JSON 文件。

当我在我的项目中使用存储在 localy 的文件时,它工作正常

但是 - 当我使用远程服务器时,完全使用相同的文件,我收到以下错误:

404 - Not Found Collection 'undefined' not found

浏览到 http://example.com/my.json ,我可以在任何浏览器上看到该文件。

这是我获取文件的打字稿代码:

private url = '../my.json';   <--- This works
private url = 'http://example.com/my.json';   <--- This throws the error


return this.http.get(this.url)
                    .map(this.extractData)
                    .catch(this.handleError);

提前致谢。

Not found collection错误提示您之前使用过angular-in-memory-web-api。您需要从您的项目中删除与此相关的所有内容,这相当于从您的 NgModule 中的 imports 中删除以下内容:

InMemoryWebApiModule.forRoot(InMemoryDataService)

这样您就可以使用外部 api 和 db.

否则您的代码不应更改,但如果您愿意,遵循 this tutorial 应该会对您有所帮助。