使用 Angular 2 Http 从 REST Web 服务获取数据

2024-02-29

我正在尝试使用 Angular 2 Http 从 REST Web 服务获取数据。

我首先将服务注入调用它的客户端组件类的构造函数中:

constructor (private _myService: MyService,
             private route: ActivatedRoute,
             private router: Router) {}

我添加了一个 getData() 方法,该方法调用 MyService 的方法来从 Web 服务获取数据:

getData(myArg: string) {
    this._myService.fetchData(myArg)
      .subscribe(data => this.jsonData = JSON.stringify(data),
        error => alert(error),
        () => console.log("Finished")
      );

    console.log('response ' + this.jsonData);

我在客户端组件类的ngOnInit方法中调用getData()方法(我正确导入并实现了OnInit接口):

this.getData(this.myArg);

这是 MyService 服务:

import { Injectable } from '@angular/core';
    import { Http, Response } from '@angular/http';
    import 'rxjs/add/operator/map';

    @Injectable()
    export class MyService {
        constructor (private _http: Http) {}

        fetchData(myArg: string) {
            return this._http.get("http://date.jsontest.com/").map(res => res.json());
        }
    }

我无法获取数据,当我尝试使用它进行测试时console.log('response ' + this.jsonData);在上面的 getData() 方法中,我得到response undefined在浏览器中。

PS:jsonData是客户端组件类的字符串属性。


由于http请求是异步的,this.jsonData在您尝试将其记录到控制台时不会设置。而是将该日志放入订阅回调中:

getData(myArg: string){     
    this._myService.fetchData(myArg)
             .subscribe(data => { 
                            this.jsonData = JSON.stringify(data)
                            console.log(this.jsonData);
                        },
                        error => alert(error),
                        () => console.log("Finished")
    );
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用 Angular 2 Http 从 REST Web 服务获取数据 的相关文章

  • 如何使用 jQuery 在悬停元素旁边显示一个 div?

    假设我有severaldiv 像这样 EDIT div class ProfilePic a href img src lib css img profile pic1 png alt class ProfilePicImg a div c
  • Angular 5在另一个变量更改时自动更新字符串变量

    当另一个变量发生变化时 有没有办法更新字符串变量 我有一个使用各种变量构建的字符串 我使用插值在组件的 html 文件中显示该字符串 但是 如果变量更改了字符串用于构建自身的变量 则该字符串将永远不会更改 因为它们不可变 唯一的方法是当其他
  • 如何通过两个输入文本字段组合表中的搜索?

    我的桌子看起来像这样 table tr td Apple td td Green td tr tr td Grapes td td Green td tr tr td Orange td td Orange td tr table 搜索的j
  • 有没有办法在打字稿中自动生成 Azure Functions 的 swagger 文档?

    我在我的项目中使用带有 azure 函数的打字稿和节点 我想为我的项目自动生成 openAPI 定义文件 而不是手动创建一个 我看到了https www nuget org packages Aliencube AzureFunctions
  • 找不到可接受的代表

    我是 Spring Boot 的新手 我可能会犯一些愚蠢的错误 所以提前对此类问题表示歉意 我正在尝试编写接受以下 JSON 的 POST API id null a 1 3 b somestring mapJson monday 10 0
  • 使用jquery,下拉列表选择更改时如何重定向?

    我有一个下拉列表 如果有人选择一个选项 我想根据选择重定向到另一个页面 我怎样才能通过 jquery 做到这一点 将逻辑绑定到 change 事件 并从中获取当前值 val 以确定用户应该被重定向到哪里 此示例假设位置直接存储在值本身中 m
  • javascript 中的正则表达式和分隔符

    我不太擅长正则表达式 我需要一些帮助 但我被困住了 这就是我得到的 编辑 现在工作正常 看看 http jsfiddle net oscarj24 qrPHk 1 http jsfiddle net oscarj24 qrPHk 1 这就是
  • Javascript:一般访问函数参数

    这是我所拥有的 var log function arg1 arg2 console log inside arg1 arg2 var wrap function fn return function args console log be
  • Jquery 选择器中的冒号

    我最近将 jquery 从 1 4 更新到 2 1 并开始出现错误 在我的代码中 我有一部分通过 id 选择元素 jQuery id name 这会产生一个错误 但是之前没有错误 1 4 如果我转义冒号 错误就会消失 他们在最新版本中添加了
  • Angular 4 升级到 Angular 8 后出现问题

    目前我在我的应用程序中使用 Angular 4 和 system js 现在我正在将其更新到 Angular 8 为此 我点击以下两个链接 将 Angular 4 项目升级到 Angular 6 https stackoverflow co
  • 如何将多种语言设置放入单个 .clang-format 文件中

    我想为 java javascript 和 c 创建一个 clang 格式 我知道如何转储单一语言的示例配置 但不知道如何合并这 3 个配置文件 有关如何将多种语言配置放入单个文件中的示例 BasedOnStyle LLVM IndentW
  • 即使我的目标是 ES3,TypeScript 输出仍然使用 Array.prototype.reduce

    我在玩了一下 TypeScript 并发现了一些奇怪的地方 假设我正在构建一个小应用程序 遗憾的是 也需要支持 IE8 所以我将 TypeScript 编译器设置为目标 ES3 我以为我可以安全地使用 ECMAScript 5 1 的好东西
  • Svg 点击事件无法正常工作

    我试图让我的 SVG 看起来像一个 饼形 看起来一切都很好 此外 我希望它们每个都有不同的点击事件 function one alert 1 function two alert 2 function three alert 3 funct
  • Angular2 路由器和一条路由中的多个解析

    In ui router在路由配置中定义多个解析很容易 所以我们可以这样说 export const APP STATES Ng2StateDeclaration name dashboard url dashboard component
  • Rxjs 带延迟功能的重试

    我正在尝试使用retry with delay函数 我预计函数会在 1000 毫秒延迟后调用 但事实并非如此 这里可能会出现什么错误 查看控制台输出 同一时间 16 22 48 我预计有 16 22 48 16 22 59 canCreat
  • Mapbox 关闭除一层之外的所有图层

    我是 Mapbox 和 javascript 的新手 我试图稍微修改一下 Mapbox GL 代码示例 发现here https www mapbox com mapbox gl js example toggle layers 允许打开
  • 构造函数上的分支未涵盖

    我正在使用 Jasmine 创建单元测试 我对所涵盖的分支有疑问 有谁知道为什么代码部分显示分支没有被覆盖 如下所示 这是单元测试 describe MyComponent gt let component MyComponent let
  • 如何使我的响应式网站在手机上支持“请求桌面网站”?

    我有一个响应灵敏的动态网站 Java Servlet 驱动且完全手工编码 由于它是一个返回数据表的科学站点 因此某些选项在较小的视口宽度下不可用 然而 可能有些用户更喜欢在桌面网站上挣扎才能访问这些选项 我希望适应他们 我的问题是 对于 i
  • 为什么事件属性不容易获取?

    我有以下代码 HERE https jsfiddle net 5n2zagjc 2 是可编辑的示例 用法 在输入字段中键入并观看控制台 function test event let keys Object keys event let k
  • jboss 7.1.1 上的 Angular 5 独立部署

    我构建了一个 Angular 5 应用程序 它使用不同服务器和主机上远程可用的 REST API 在我的本地 我使用 apache 服务器来部署 Angular 应用程序 该应用程序按预期工作 为了将代码推广到其他环境 我使用 ng bui

随机推荐

  • java LocalDateTime 解析具有模式 MM/d/yyyy HH:mm:ss a 的日期的异常

    我在使用 java datetime API 执行下面的代码时遇到异常 String strDate 12 4 2018 5 26 28 PM DateTimeFormatter formatter DateTimeFormatter of
  • Spring 3 表达式语言如何与属性占位符交互?

    Spring 3 引入了新的表达语言 http docs spring io spring docs 3 0 x spring framework reference html expressions html SpEL 可以在 bean
  • 如何检测产品搜索中的拼写错误并提出可能的更正建议?

    给定一个非常大的产品名称数据库 您如何检测用户搜索中可能存在的拼写错误并建议可能的更正 有点像谷歌呈现它们的方式 E g 用户输入 fork handels 并按 搜索 他们回来了 没有结果 您是说 叉柄 吗 解决这个问题有几种方法 保留一
  • G++ 找不到 boost 库。我说他们就在众目睽睽之下

    我正在尝试构建一些代码 这是我收到的错误 main o In function static initialization and destruction 0 home jmbeck Downloads boost 1 48 0 boost
  • Visual Studio 2013 缺少转换为 Web 应用程序

    我正在管理一个旧的 Web 应用程序 它仍然具有 Framework 1 的遗留代码 你相信吗 目前使用 Framework 4 0 当我需要修复或升级网页时 我通过单击 转换为 Web 应用程序 将其转换为 Web 应用程序网页 VS 2
  • order Graphviz - 固定子图

    我喜欢创建一个像这样的 3 柱形图 Code digraph g rankdir LR node shape circle fontsize 14 fontsize 18 labeljust l rank same edge style i
  • Docker 容器超时?

    对于我在大学的论文 我正在研究一个编码排行榜系统 用户可以通过临时 Docker 容器编译 运行不受信任的代码 到目前为止 系统似乎运行良好 但我面临的一个问题是 当提交无限循环的代码时 例如 while True print infini
  • Twitter 回调 URL

    我正在使用 twitter SDK 与 ios 应用程序集成 当我遵循所有步骤并创建客户密钥并将其放入我的应用程序中时 当我运行应用程序时 它会显示 TwitterKit 确实遇到了消息错误 获取用户身份验证令牌时出错 错误域 TWTRLo
  • 如何在我自己的 C shell 中正确等待前台/后台进程?

    In this https stackoverflow com questions 873620 how do i clear this array pointer in c上一个问题我发布了大部分我自己的 shell 代码 我的下一步是实
  • 从子查询更新多列

    此类问题之前已被问过几次 但并不完全是我想要的 我需要SET两行等于子查询的不同部分 我目前正在使用 UPDATE records SET leads SELECT COUNT FROM leads table WHERE leads ta
  • 替换字符串中的字符列表

    我有一个字符串 它是网页的标题 所以它可以有 和其他特殊字符 我想编写一个函数 它将接受一个字符串并替换一个字符列表 试图找到最好的方法来做到这一点 我应该使用列表 数组或枚举来保存特殊字符列表 还是 java 中已经有一些东西可以做到这一
  • 如何使单选按钮看起来像切换按钮

    我希望一组单选按钮看起来像一组切换按钮 但功能仍然像单选按钮一样 它们不必看起来完全像切换按钮 我怎样才能只使用 CSS 和 HTML 来做到这一点 编辑 当选中 取消选中按钮时 我会满意地使小圆圈消失并更改样式 根据您想要支持的浏览器 您
  • 具有取消支持的 GetContextAsync()

    所以我正在旋转一个HttpListener等待一个OAuth2回复 在理想的情况下 当用户登录浏览器并且我们收到令牌时 该令牌只会存活几秒钟 我也希望这个有一个CancellationToken以便用户可以在延迟后停止收听 如果他们愿意 我
  • 迭代器块的测试覆盖率结果很奇怪,为什么这些语句没有执行?

    我正在使用 dotCover 来分析单元测试的代码覆盖率 并且得到一些奇怪的结果 我有一个迭代器方法 其覆盖范围不完整 但未覆盖的语句只是右大括号在该方法的末尾 这是我正在测试的方法 public static IEnumerable
  • 尝试将二进制文件部署到已存储不同二进制文件的位置

    当我从 tridio 2009 发布页面时 出现以下错误 Destination with name FTP Host servername Location RET Password Port 21 UserName retftp rep
  • 在spark中连接mongodb时出现异常

    在尝试使用 MongoDB 作为输入 RDD 时 我在 org bson BasicBSONDecoder decode 中收到 java lang IllegalStateException 未就绪 Configuration conf
  • Android:如何在 java 类中创建 EditText 字段

    我只是想知道如何通过单击按钮创建 editText 字段 是否可以 我在网上找不到任何东西 如果有人知道如何做到这一点 请回答 如果您知道如何配置尺寸 放置等也包括该信息 import android widget Button impor
  • 优化 Java 对象以提高 CPU 缓存线效率

    我正在写一个库 其中 它将需要运行在广泛的不同平台 Java 实现 常见情况可能是运行 Windows 或 Linux 的 Intel 64 位计算机上的 OpenJDK 或 Oracle Java 实现高性能是首要任务 就我关心对象访问中
  • InvalidOperationException 在强类型视图中呈现 ViewComponent

    最近更新的 dotnet core 1 0 1 到 1 1 和 MVC 中的 ViewComponent 开始失败 出现以下异常 InvalidOperationException One or more errors occurred T
  • 使用 Angular 2 Http 从 REST Web 服务获取数据

    我正在尝试使用 Angular 2 Http 从 REST Web 服务获取数据 我首先将服务注入调用它的客户端组件类的构造函数中 constructor private myService MyService private route