问题标签 [angular2-http]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
13 回答
93224 浏览

angular - 如何使用/导入http模块?

我一直在玩Angular 2 Quickstart

如何在 Angular 2 中使用/导入 http 模块?

我看过Angular 2 Todo's.js,但它不使用 http 模块。

我之所以加入"ngHttp": "angular/http",dependencies因为package.json我听说 Angular 2 在某种程度上是模块化的。

0 投票
2 回答
12549 浏览

javascript - Angular2 Http 请求

HTTP您好我正在尝试使用Angular2.

Typescript一切都在(1.5)中编译良好,但Chrome在控制台中显示以下错误:

服务.ts

条目列表.ts

应用程序.ts

索引.html

我确实查看了angular.io网站上的 API 文档,但看不出有什么问题。

更新

服务.ts

条目列表.ts

应用程序.ts

没有任何变化index.html

编辑:我的 services.ts 文件更改以使其正常工作:

0 投票
5 回答
131022 浏览

angular - Angular - POST上传的文件

我正在使用AngularTypeScript将文件与 JSON 数据一起发送到服务器。

下面是我的代码:

如何将其转换formData为 String 并将其发送到服务器?我记得在AngularJS (v1) 中你会使用transformRequest.

0 投票
8 回答
52767 浏览

javascript - 如何同步Angular2 http get?

我了解使用 observable 我可以在请求完成时执行一个方法,但是我如何才能等到 http get 完成并使用 ng2 http 返回响应?

“值”在返回时将为空,因为 get 是异步的。

0 投票
9 回答
80879 浏览

angular - 为 Angular 2 http 请求设置基本 url

我正在尝试为我的所有 angular 2 http 请求设置基本 url。以下是我的应用程序的基本设置。

正如我从配置中所期望的那样,请求没有发送到http://10.7.18.21:8080/api/users 。而是将请求发送到http://localhost:8000/users

如何在 Angular 2 应用程序中设置 http 请求的基本 url?

我正在使用Angular 2.0.0-beta.0

0 投票
2 回答
3108 浏览

angular - 在 angular2 中使用 Rxjs 连接分页响应

我正在从 angular2 应用程序调用外部 API,该应用程序以分页形式提供数据。响应看起来像这样

我可以使用 Rxjs 或 Angular2 的内置 Http 类,它返回一个 observable 来连接下一个 url 的结果,直到

我觉得我需要使用 concatMap 运算符,但我还没有弄清楚语法,因为我是 Reactive Extentions 的新手。

0 投票
2 回答
1000 浏览

angular - Angular 2. Http map\subscribe 问题

想要读取 json 文件并构建 settingsProvider。

所以我这样做:

但是遇到了这样的错误:

在此处输入图像描述

所以,我的第一个问题是——为什么会这样?

第二个问题:

当我这样做时:

this指向的不是类,而是订阅者实例。为什么这样?我认为 TypeScript 中的“fat-arrow”-lambda 可以帮助我们摆脱这种奇怪的闭包。

0 投票
2 回答
20574 浏览

angular - 同步函数 - 在 Angular 中

我需要在 Angular 同步函数中达到(即对方等待第一个结束)。

例如,我有两个提供商(MenuProvider 和 ShopProvider)。

MenuProvider 有一个方法:

通过 HTTP 检索当前商店的菜单项。

ShopProvider 有一个方法:

通过商店当前使用的 HTTP 设置。

我需要在“setCurrentShopById(idShop:number)”之后调用“getMenuItemsForCurrentShop()”。理想情况下没有回调。

0 投票
1 回答
3932 浏览

angular - 可观察地图功能未运行(Angular2,http)

更新

问题似乎是地图功能没有在“失败”的请求上运行。这意味着,如果我正在与之交谈的 API 返回422 Validation Failed错误(或其他 4xx 错误),Angular 会将其视为失败并导致 Observer 运行订阅的错误回调,并在此过程中跳过 map 函数。

是否可以强制 Angular 将某些 4xx 错误视为成功请求,或者即使 Observable 返回错误也强制 map 函数运行?


我在 Angular2 应用程序中运行了以下代码:

代码执行良好,但未触发 map 函数。我没有收到任何错误,并尝试使用和不import 'rxjs/add/operator/map'使用相同的结果运行代码。我也尝试过更简单的地图功能.map (res => res.json());

在这两种情况下,我都希望.subscribe()函数中返回的结果是 JSON 响应,但我得到的是原始响应。

编辑:添加了请求数据的屏幕截图和响应

请求详情

回复:

我还在一个完全成功的请求(状态代码:200)上对其进行了测试,并且地图功能似乎工作正常。所以我猜它只在返回成功响应时运行。有没有办法让它运行,或者指定它应该运行的其他状态代码?

0 投票
1 回答
252 浏览

angularjs - 在 Angular 2 中使用 http 调用进行路由

我正在寻找在 Angular 2 中的组件之间进行路由的最佳方式。在我的应用程序中,我通过提交表单从一个页面转到另一个页面:

  • 页面 A 显示一个表单和一个提交按钮以进行下一步,
  • 用户在页面A表单中提交的数据用于使用ajax调用后端操作,
  • 页面 B 显示了 ajax 调用的结果和一个新的表单以进入下一步(页面 C)...

在每一步,后端都会返回一个错误,我们要么返回上一页,要么显示一个错误页面(致命错误)。

我看到两个简单的 ajax 调用选项:

  1. 组件A只显示表单并将输入参数转发给组件B。组件B运行ajax调用并显示结果。
  2. OR 组件 A 使用他拥有的输入参数运行 ajax 调用,并将结果转发给组件 B 进行显示。如果出现错误,组件 A 会重新显示自身。

选项 1 的问题是,如果出现错误,后端将响应页面 A 业务模型和错误消息。组件 B 必须将结果转发给组件 A,以便重新显示页面 A。

选项 2 的问题是组件 A 具有组件 B 的部分业务逻辑,这对于组件封装并不是很好。

我的问题是:是否有一个好的设计模式可以做到这一点?例如,我应该使用中间组件吗?

感谢您的帮助。