【问题标题】:How to make a Rest API call from Office JS using Yeomen Generator for Angular framework?如何使用 Yeomen Generator for Angular 框架从 Office JS 进行 Rest API 调用?
【发布时间】:2020-04-24 08:04:33
【问题描述】:

我已尝试推荐一个项目Angular Reference Project Link from MSFT 现在我正在尝试从 Angular 调用一个 rest API,并且我正在尝试创建一个单例服务,但是每当我尝试使用单例运行应用程序时,应用程序都会失败。

我也不能使用任何 Angular-CLI 命令,因为在 Yeomen 的 Angular 解决方案中没有 angular-cli.json 文件。我该如何使用它?

【问题讨论】:

  • 我认为我们需要更多信息来帮助您。我刚刚完成了这个练习,所以它在我的脑海中很新鲜。你观察到什么错误?你是如何调用 REST api 的?更新您的问题,我或许可以提供一些见解。
  • @Andrew 感谢您的恢复,我正在尝试使用 Http 调用 rest API,但它没有说不能通过 https 提供 http 服务,正如官方 Microsoft Docs 中提到的那样,您必须仅使用 https 调用。因此,在对我的服务器进行 https 调用时,我遇到了 CORS 问题,并且我无法更改服务器代码以添加新的标头作为响应,有没有其他方法可以从 Node 或 Angular 实现相同的目标
  • 等待更新@Andrew
  • 同样,查看有问题的代码行以及您收到的 http 请求和响应会很有帮助。但是在我的脑海中,如果您无权访问服务器并且它禁止 CORS,那么您的选择就会受到限制。你可能对 JSONP 有一些运气 - stackoverflow.com/questions/2067472/…

标签: angular typescript office-js office-js-helpers


【解决方案1】:

在不访问目标服务器的情况下解决 CORS 错误会迫使您做出一些选择。

  1. 代理服务器 - 创建一个您可以使用 Access-Control-Allow-Origin: * 控制的服务器,并从您的 Angular 应用程序向该代理服务器发出请求。然后代理服务器将转发到目标服务器。

  2. JSONP - 见:What is JSONP, and why was it created?。这绕过了 CORS 限制,因为您可以加载远程脚本。加载的结果可以是 API 调用的结果。您只需要根据自己的喜好对其进行解析即可。

【讨论】:

  • 代理服务器的意思是,我创建了一个节点代理服务器?
  • 不一定是节点——它可以是任何类型的转发请求的网络服务器。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2019-11-02
  • 2021-11-03
  • 2016-01-31
  • 2017-12-05
  • 2019-05-30
  • 2016-01-08
  • 1970-01-01
相关资源
最近更新 更多