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

标签 angular angular-http

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

当我使用存储的文件时 本地 在我的项目中,运行正常 .

但是 - 当我使用 时远程服务器 , 与 正好同一个文件,我收到以下错误:

404 - Not Found Collection 'undefined' not found



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

这是我获取文件的 typescript 代码:
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前。您需要从项目中删除与此相关的所有内容,这相当于从 imports 中删除。在您的 NgModule等于以下各项:

InMemoryWebApiModule.forRoot(InMemoryDataService)

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

否则您的代码不应更改,但如果您愿意,请关注 this tutorial应该可以帮助你。

关于angular - 从 HTTP 远程服务器获取 Angular 2 的 JSON 失败,但在本地成功,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42386685/

相关文章:

AngularJS:为 $http 设置正确的 'Referer' header

angular - Angular 的 ExceptionHandler 可观察到的错误处理

css - Angular 6 到全局 css 的替代方式

javascript - Angular 点击回调未定义服务

angular - 在 IE 中调试 angular 2 typescript 应用程序

angular-http - Angular5 Response Header (Content-Disposition) 读取

javascript - 使用 $http 获取 JSON 数据

angular - 在两个订阅解析后从服务方法返回 Observable<boolean>

html - 如何在 Angular Material 中添加占据对话框整个宽度的标题

json - Angular 2。将 http 响应映射到具体对象实例