【问题标题】:Unable to get the Response from angular7 services in production environment无法从生产环境中的 angular7 服务获取响应
【发布时间】:2019-08-31 15:12:48
【问题描述】:

我是 Angular 新手,使用 Angular CLI 7 开发了一个 Angular 应用程序。 当我从本地系统运行应用程序时,我得到了服务的响应,它工作正常。

但是当我在生产服务器中部署应用程序时,我无法从服务中获得响应。服务响应时间过长并获取状态为未知错误的 HTTPErrorResponse。

我们正在使用 Spring 微服务进行 api 调用以获取响应数据。

我将 proxy.conf.json 用于服务,因为运行 Angular 应用程序的 URL 与服务不同。

proxy.conf.json:

{
   "/api/*":{
       "target":"http://wsd185erd986.test.com/api",
       "secure":false,
       "loglevel":debug,
       "changeOrigin":true
    }
}

更改了 package.json 以在 proxyConfig 中包含 proxy.conf.json。 在服务中包含响应标头。

任何人都知道如何在生产构建中为 Angular 配置这些代理设置。我们是否需要在服务调用中包含任何标头。

【问题讨论】:

    标签: angular7 angular-services angular-httpclient


    【解决方案1】:

    HTTPErrorResponse - 表示错误或失败的响应, 要么来自不成功的 HTTP 状态,要么在执行时出错 请求,或在解析过程中发生的其他一些故障 回应。

    因此,根据文档,此错误在多种情况下都会引发,要么服务器端出现错误,服务器发送错误响应,要么解析时出现问题。

    请检查 Spring Boot API 请求日志以查看发回的响应代码。 您也可以通过独立客户端(如Postman)检查 API,看看是否有问题。

    顺便说一句 - 您不应该在生产中使用 Angular 开发服务器,因为它是用于 Angular 开发的。通常,您可以使用任何 Web 服务器(如 Apache、NGinx 等)来托管您的 Angular 生产文件(它们只是静态资源),然后将它们用作代理(通过具有代理配置)或启用CORS 服务。

    【讨论】:

    • 在我的本地系统中,服务运行良好。此外,我们还检查了来自服务 API 的日志。问题在于 \from angular ui。
    • 通过 Angular 代码,您可以记录您在浏览器控制台中收到的响应,并检查内容的格式是否正确。
    • 保留浏览器日志并得知状态为未知错误。我们是否需要更改 angular 生产构建中的任何配置设置?
    • 您是否能够在浏览器网络选项卡中看到正确的响应(按 F12)
    猜你喜欢
    • 2016-03-03
    • 2019-12-22
    • 2023-03-05
    • 2018-05-10
    • 2019-07-17
    • 2019-09-06
    • 1970-01-01
    • 1970-01-01
    • 2017-06-25
    相关资源
    最近更新 更多