【发布时间】:2016-11-08 22:20:20
【问题描述】:
我正在使用 Angular 2 制作网页。当我加载页面时,我使用 OnInit 运行以下方法(替换了通用名称):
getAllObjects(): Promise<object[]>{
return this.http.get(this.getAllObjectsUrl).toPromise().then(response => response.json().data).catch(this.handleError);
}
我已经在我的浏览器中验证了 getAllObjects url 确实返回了 JSON 格式的 object 数组。如果有帮助,这里是网址:
private getAllObjectsUrl : 'http://99.240.124.235:7060/REST/rest/companyService/getAllCompanies.json/';
但是,这个方法触发了handleError catch,并且浏览器的调试日志显示GET localhost:3000/null 404 NOT FOUND(我使用的是npm服务器来运行它,因此是localhost)。
我认为这不是 CORS 问题,因为我下载了 Chrome CORS 插件,并且其他 API 调用都有效。只是这个特定的 API url 导致了问题,我觉得这很奇怪,因为我的其他 API 调用工作并且它们遵循完全相同的格式(除了不同的 url)。
我想也许 appComponent 不允许 OnInit,但我用不同的有效 API 调用替换了 getAllObjects(),我没有收到此错误。
我完全被卡住了,如果有任何帮助,我们将不胜感激(这个错误可能是因为 Web API,而不是前端?)。
【问题讨论】:
标签: javascript angularjs node.js angular