问题标签 [angularjs-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 投票
3 回答
3267 浏览

angularjs - AngularJS 1.2.0 $resource 响应为空

我正在使用 AngularJS 1.2.0。当我使用 $resouce 调用 Web 服务时,响应变量始终为空。正确调用了 Web 服务,并且 Web 服务正在将结果发送到浏览器。问题是 (callback(response){}) 响应总是空的。

0 投票
1 回答
2473 浏览

javascript - 如何将 & 号 (&) 传递给 AngularJS 资源参数

我有一个声明如下的角度资源

我想调用服务传递一个包含&符号(&)的参数,例如:

但是,AngularJS 没有正确编码 &。它发送 "sigla=abc&d" 而不是 "sigla=abc%26d" ,导致我的服务器将 "sigla" 的查询字符串参数值视为只是 "abc",而不是 "abc&d"。

查看 angular-resource-1.0.7.js,我看到以下内容:

因此,它会在将请求发送到服务器之前对“&”进行编码并解码。有没有什么地方可以在将 URL 发送到服务器之前对其进行自定义?更改 encodeUriSegment 是一种选择,但它可能会破坏 Angular 中的其他内容。有任何想法吗?

0 投票
1 回答
4191 浏览

angularjs - AngularJS $http DELETE 请求 Content-Type 标头

$resource当我使用 AngularJS模块发出 DELETE 请求时,Angular会Content-Type: application/xml在请求标头中添加标头。在AngularJS 源代码中,有一个部分在未发送参数时删除内容类型请求标头。但是,我不明白为什么会发生这种情况,这不起作用。

这是我提出删除请求的方式:

这是哪个标题浏览器

那个Content-Type标头来自哪里?

编辑:我正在使用 AngularJS 1.2.0rc1

0 投票
0 回答
200 浏览

javascript - ngResource 导致网站崩溃

我有一个使用 angular.js 和 ngResource 模块的 web 应用程序来使用服务器上的 REST API。

以下是访问所有不同 url 的方式:

我认为这导致我的浏览器选项卡崩溃(在其他浏览器上测试,它们最终也会崩溃,Firefox 显示 javascript 崩溃错误)。

探查器的屏幕截图: 探查器截图(还不能嵌入图像:()

0 投票
1 回答
1461 浏览

angularjs - Angular resource.$query() 和错误条件以数组形式返回响应,但需要作为普通对象

我正在使用服务来返回文件列表。此服务返回以下内容。

成功案例: json 格式的文件对象列表如下,HTTP 代码为 200

失败案例:这将返回错误响应,错误消息为 HTTP 错误代码 500。

我正在使用以下“查询”方法调用此服务。

我面临的问题是由 $query() 方法转换的响应对象。我收到的响应是一个看起来不正确的数组。不知道为什么 $query() 也期望错误响应作为数组。在错误情况下;我收到如下数组的响应

我不确定为什么 $query() 会这样。不知道如何以正确的方式处理它。请帮忙。

0 投票
2 回答
6190 浏览

ruby-on-rails - 如何将 angularjs 资源用于 rails/RESTful 路由?

我在 rails 应用程序中嵌入了一个 angularjs 应用程序。我正在使用 rails 为名为“Task”的资源提供的 RESTful 方法。以下是我正在处理的路线:

我有一个用于任务项目的 angularjs-resource,其中所有任务的 GET 都可以正常工作。(代码在咖啡脚本中)

正如您在这里看到的那样,我正在尝试为 PUT 方法插入一个斜杠以获取 format /api/v1/tasks/:id.json。不幸的是,角度把它作为一个%2f而不是一个斜线。我对这段代码的质量并不特别兴奋,因为添加了slash参数会降低它的可读性。

这是我使用此资源的 angularjs 控制器:

基本上,我的问题是,有没有人举例说明如何使用 angularjs 资源重现传统的 rails/RESTful URL 格式?我查看了几个 StackOverflow 问题,似乎找不到一个好的答案。任何帮助表示赞赏。

0 投票
1 回答
8242 浏览

angularjs - 带有 angular.js $resource 和 ServiceStack 服务的 CORS

我有一个 servicestack REST 服务和一个 angular.js 客户端。Web 托管在另一个端口上,然后是 RESTService。

使用 $http 检索数据有效,但使用 $resource 无效。

在 REST 服务中,我设置了以下全局标头:

现在在 angular.js 中,我可以成功读取 $http 的方法,例如

但是用 $ressource 读取相同的地址不起作用我的工厂代码是:

我在控制器中以这种方式使用它

我得到的错误是:http://localhost:7000访问控制允许来源不允许来源。
并且 XMLHttpRequest 无法加载http://localhost/api/status。Access-Control-Allow- Originhttp://localhost:7000不允许 Origin。

我究竟做错了什么?

我还尝试将允许的来源更改为确切的地址,但这无济于事

0 投票
3 回答
228028 浏览

rest - 安静的 POST 响应的“最佳”实践

所以这里没有什么新东西我只是想得到一些澄清,似乎在其他帖子中找不到任何东西。

我正在重新创建一个新资源,比如说:

有身体:

我知道我应该返回一个 201(已创建),并带有新资源的 Location 标头:

我似乎无法为自己回答的问题是服务器应该在正文中返回什么。

我经常做这样的回应:

我这样做有几个原因:

  1. 我已经为 angularjs 等前端框架编写了 api。在我的特殊情况下,我使用的是角度资源,我经常只需要资源的 id 来定位它。如果我没有在响应正文中返回 id,我需要将其从 Location 标头中解析出来。
  2. 在所有书籍的 GET 中,我通常会返回整个对象,而不仅仅是 id。从这个意义上说,我的客户端代码不必区分从哪里获取 id(位置标头或正文)。

现在我知道我真的处于灰色地带,但大多数人都说归还整个资源是“不好的”做法。但是,如果服务器更改/向资源添加信息怎么办。它肯定会添加 id,但也可能会添加其他内容,例如时间戳。在我不返回整个资源的情况下,执行 POST,返回 id,然后让客户端执行 GET 以获取新资源是否真的更好。

0 投票
1 回答
18251 浏览

angularjs - 具有多个可选获取参数的 Angular 1.0.8 $resource

我的学生 ulr 看起来像这样:

当我在没有参数的情况下调用它时,我希望 url 是/app/student/(有效)

当我用 studentid 调用它时,我希望 url 是/app/student/?id=88(有效)

当我只用 courseid 打电话时,我希望 url 是/app/student/?courseid=99(不)

相反,我得到:/app/student/6682831673622528

当我同时使用学生和课程 ID 打电话时,我想:/app/student/?id=1&courseid=2 相反,我得到/app/student/12

尝试这样的 url:/app/student/:studentid&:courseid给我/app/student/1&2

不知何故,只提供 studentid 作品但 courseid 或两者都不能像我想要的那样工作。不知道我会如何期望它,因为文档中没有关于多个参数作为查询字符串的内容(有关于扩展 url 的内容,/app/student/studentid/1/courseid/2但由于它是一个 xhr 请求,我想让它请求/app/student/附加 GET 参数为?one=val&two=val

有没有办法做到这一点?

0 投票
4 回答
18044 浏览

javascript - 给剑道数据源一个角度范围变量

我目前正在尝试用远程数据填充剑道网格。剑道有自己的功能来获取数据,但我想使用我创建的角度工厂。

所以我有一个工厂,它有一个功能“getSkills”。这个函数从我的 api 中获取所有的技能对象。

在我的 SkillController 中,我将这些获取的技能放在一个范围变量中。

我在这里初始化剑道网格:

大多数时候,ajax 回调比初始化剑道网格要慢。然后它将显示一个空表,因为表的数据未绑定到角度 $scope.skills 变量。

我到处搜索,但我无法弄清楚如何在初始化中为数据属性使用自定义函数,或者如何将范围变量绑定到表。

任何帮助,将不胜感激!