当前位置: 首页 > 知识库问答 >
问题:

Angular2:无法返回从Http响应映射的json

祁宝
2023-03-14

在我的服务中,我执行了一个超文本传输协议调用,并将响应返回为可观察的

doQuery ( query: String ) : Observable<any> {
    return this.http.request(queryURL) ;   
}

我订阅了一个组件

this.service
    .doQuery(this.query)
    .subscribe((res: any) => {
        console.log ("Res");
        console.log(res);
    });

这样做实际上是有效的;我可以在控制台中看到响应对象的转储

当我想从服务返回映射为json的响应时,出现了问题。

我想做他的

return this.http.request(queryURL).map((res: any) => res.json());

但在运行时,我得到了一个模糊的javascript错误(准确地说,这是来自Zone.js)

Error: Permission denied to access property "rejection"

我已经尝试将返回类型从Observable更改

更新:实际上我解决了在服务文件中添加导入rxjs/Rx的问题;

我做错了什么?为什么需要这种进口?这不是一种导入Rxjs映射操作符的方法吗?


共有1个答案

李利
2023-03-14

在这种特定情况下,我决定添加导入

import `rxjs/Rx`;

但在其他99%的情况下,这种情况再次发生在我身上,这种错误是由于@NgModule中的providers数组中缺少一个服务的声明造成的

 类似资料:
  • 我已经用 我的服务就像 但是当我打电话的时候 它返回一个,它没有方法,它让我疯狂了好几个小时。我正在使用Babel来传输我的javascript代码。

  • 我对Wiremock很陌生,尽管我已经看过了文档,但我仍然没有完全了解它 我想知道的是。。。 有没有办法在一个存根中定义两种行为——成功响应案例和错误响应(或多个)案例,以防例如请求的正文匹配模式不满足?支持吗?或者我应该为每种类型的无效请求(例如请求正文)编写单独的请求匹配器?当然是以更通用的方式。 如果可以在同一个存根JSON中组合错误响应和成功响应,请给我举个例子,或者也给我举一个例子?

  • 我正在使用dropwizard和jersey2 rest客户端,我得到 然而,当我打开日志记录时,我看到 我怎样才能反序列化这个响应,而不是只得到400? 我的代码看起来像 亚洲账户基本上是空的 我添加了apiVerson,时间戳和错误到亚洲帐户,但它仍然不工作。任何帮助都很感激。

  • 我想做一个网站的登录页面。我有一个函数,它使用AJAX向PHP脚本发送请求,以检查是否输入了正确的用户名和密码。如果查询返回成功的结果,则发送http_response_code(200),否则发送http_response_code(403)。然而,登录功能似乎没有返回任何响应状态。反应似乎是不确定的。在这种情况下,即使输入了正确的密码和用户名,该函数也会给我错误密码或用户名的窗口警报。我应该检

  • 你知道我在这里做错了什么吗?我怎么能让它工作。?!

  • 我对Spring很陌生。我有一个在Spring中编写的REST api,但我不知道如何使用自定义http响应代码返回JSON响应。 我返回一个JSON响应,如下所示: 但它总是显示200个http ok状态代码。 如何可能在void函数中返回JSON响应和自定义HTTP代码?