问题标签 [angular-resource]

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 投票
1 回答
3551 浏览

angularjs - 如何在 angularjs 中设置条件 $resource 超时?

似乎很清楚如何设置全局方法来中止 http 请求。类似的东西

但是,我希望能够中止特定的请求。我可以为我需要能够中止的请求定义单独的资源,但这很丑陋。当我调用 $resource 时,有什么方法可以传入参数或其他东西,可以允许超时是有条件的吗?也许是这样的:

但是我如何访问 FOO?

感谢您的任何见解!

0 投票
0 回答
150 浏览

angularjs - 处理角度资源 1.2.x 获取查询的正确方法是什么?

我目前正在使用 Angular 资源 1.2.x 实现 REST API。我刚刚发现了几个提示,在 1.2.x 版本中,angular-resource 打破了一些现有的模式。我现在的问题是,如何使用 angular-resource 1.2.x 正确处理以下场景。

我确实有一个返回数据 (/offers/:id) 的 REST API 和一个使用角度资源抽象这些 API 的角度服务。在此服务中,我确实有一个 get 函数,可以使用给定的 id 查询 API:

_offerResource 本身是 $resource 的一个实例。

在我的控制器中,我确实在视图绑定的 $scope 上有一个变量 offer(例如 $scope.offer.title,...)。

我尝试使用以下代码行来实现对 API 的调用:

但不幸的是,绑定不起作用。基于这个 SO 条目(Angularjs 承诺不绑定到 1.2 中的模板),角度资源的行为已经改变。但是使用 $promise.then(...) 语句的方法是要走的路吗?从工程的角度来看,这看起来很丑陋,因为我需要在控制器中处理这个问题,而不是服务返回我可以使用的对象。

这个可行,但如上所述,从软件设计的角度来看,这不是我最喜欢的方法:

顺便说一句,我将 API 的响应转换为另一个对象,因此我需要先进行以下转换,然后才能将 offer 对象绑定到 $scope.offer 变量:

非常感谢你的帮助!

0 投票
1 回答
242 浏览

node.js - 目的 #没有“推”的方法

起初我有这个,但得到了错误Expected response to contain an object but got an array

所以我改成这样:

我将一个项目保存到数据库,并返回对象列表作为结果。返回一个 JSON 数组,但我收到此错误。

有什么建议么?

0 投票
1 回答
5929 浏览

angularjs - 从 API 下载 AngularJS CSV 文件

我有一个管理员控制面板,管理员用户可以在其中设置一些选项,然后单击一个按钮来运行报告。报告应向用户返回 CSV 文件下载提示。

我正在使用ui-router$resource服务。响应标头/mime 类型设置正确,但$resource处理程序将 CSV 文件作为文本返回(未启动文件下载)。

我尝试通过从 中形成查询字符串来直接创建下载链接$scope,但不幸的是,我的 API 的身份验证方案使用自定义 HTTP 标头令牌,并且无法通过锚标记将其发送到 API(也在另一个子域上),比如这个:

有没有办法使用 XHR 请求(带有自定义标头)启动文件下载提示?

0 投票
1 回答
5057 浏览

angularjs - angularjs资源传递对象参数数组但在api控制器中为空

我有一个 angularjs 资源,如下所示:

我使用此资源的 angularjs 控制器如下:

这条路线的我的 WebApiConfig 是:

收到此消息的我的 mvc api 控制器如下:

参数类是这样声明的:

请求进入我的 api 控制器,但控制器的reportParams参数始终为空。你能帮我指出问题吗?谢谢

0 投票
1 回答
170 浏览

javascript - AngularJS tokenWrapper - 错误的回调参数

AngularJS 1.2.1
ngResource 1.2.1

我遇到了最奇怪的问题。我正在使用 Andy Joslin 的 tokenWrapper ( AngularJS: How to send auth token with $resource requests? )

我有一个这样定义的资源:

它由 tokenHandler 包装,并且令牌随每个请求一起发送,这很棒。问题在于调用错误回调。

当使用这样的资源时

问题
当资源返回 200 时,成功函数(第一个参数)被调用。当资源返回其他内容时,不会调用错误回调。

我试图记录 tokenHandler ,似乎处理程序正在收集参数。

console.log的结果将数据打印为成功,将成功打印为错误。
我该如何解决?!

0 投票
1 回答
238 浏览

angularjs - 扩展 angularjs $resource 服务以包含公共标头

我想为现有的 angular $resource服务编写一个包装服务,以便默认情况下将一些自定义标头添加到 http 请求中。我知道我们可以使用$httpProvider.defaults.headers.common. 但是这样我所有的请求都会有这个头,这不是我想要的。

$resource如果该服务可以扩展为一个包装服务,我可以在其中定义这些公共标头,那将会更加简洁。这样,我可以在需要添加公共标头的任何地方选择性地使用此包装服务。

0 投票
1 回答
353 浏览

javascript - 从 http 迁移到 ngResource Angular

自从我使用 Angular 已经 3 个月了,我很喜欢它。使用它完成了一个应用程序,现在我正在进行代码重构或改进我的代码以获得更好的实践。我有一个使用 $http 的 Api service.js,我想将它迁移到使用 $resource :)

我在这里有一个使用 $http 的 api 代码示例:

上面的代码正在运行,现在这是我第一次尝试使用 $resource:

这就是我能走多远,不知道如何使用来自我的控制器的 $resource 将数据传递给我的 api。这只是我的 api 调用的一部分,还有很多,但现在就可以了。:D。

任何帮助是极大的赞赏。

谢谢

0 投票
1 回答
825 浏览

angularjs - 角度范围和失去绑定

我无法在这里找到真正帮助我理解我的 Angular 问题的其他任何地方,但我怀疑它与我尚未完全掌握的继承有关。

我正在执行自定义指令的 ng-repeat,并在尝试从资源更新集合时看到奇怪的行为。这是 plnkr: http ://plnkr.co/edit/QXAFvQix8oUiVMlMuEXw

要查看问题所在,请单击“完成注册”按钮,该按钮从资源中检索 json 并替换当前集合。我期望这些卡被更新的卡所取代,但正在发生的事情是前 2 张卡似乎不再绑定到范围(或以某种方式被僵尸化)并且添加了 2 张新卡。每次后续更新都会按预期更新新卡。我错过了什么?

0 投票
2 回答
6406 浏览

angularjs - 动态资源头

我希望有服务提供资源,如下面的代码:

然后在使用该connect操作时,我想动态传递一个 HTTP 标头,这意味着它可能会因每次调用而改变。这是一个示例,在控制器中,请参阅代码中的注释:

您知道直接或通过技巧来做到这一点的方法吗?


最后的想法

接受的答案并不能完全回答问题,因为标题不是完全动态的,因为工厂实际上返回了一个工厂(!),而我的代码中并非如此。

由于 $resource 是一个工厂,因此无法使其动态化。

每次用户连接时,我最终都会销毁资源对象。这样,我就有了在用户连接时计算出的带有标题的资源。

@Stewie 提供的解决方案对此很有用,因此我将其视为已接受。


这是我进行连接的方式,可以多次使用,因为在(重新)连接时资源被破坏/重新创建:

};