为什么我的角度资源忽略特定于操作的 URL
Why does my angular resource ignore the action-specific url?
我有以下角度代码:
var app = angular.module('app', ['ngResource']);
app.factory('Post', function ($resource) {
return $resource('/post', {}, {
query: { method: 'GET', url: '/post/get/:id', params: { id: '@id' } },
save: { method: 'POST', url: '/post/addorupdate/:id', params: { id: '@id' } },
delete: { method: 'POST', url: '/post/delete/:id', params: { id: '@id' } }
});
});
app.controller('appController', function ($scope, Post) {
$scope.createPost = function () {
var post = new Post({
title: "Test post",
body: "Test body.<br/ >Yay!"
});
post.$save();
};
});
标记如下所示:
<body data-ng-app="app">
<div data-ng-controller="appController">
<button ng-click="createPost()">Create Post</button>
</div>
</body>
当我单击该按钮时,它会尝试对服务器进行 POST,但对原始 URL 而不是特定于操作的 URL。请求中的 URL 如下所示:
http://localhost:8080/post?id=undefined
知道为什么它试图发布到/post
吗?另外,知道为什么id=undefined
吗?在其他示例中,如果未指定 ID,则似乎?id=blah
不包含在请求中。提前谢谢你。
在撰写本文时,这是当前版本(1.0.8)的AngularJS中的一个错误。 ngResource
忽略操作覆盖上的 url
属性。它在版本 1.1.4 中已修复,并且该修复程序存在于最新版本候选版本 (1.2.0) 中。
相关文章:
- 如何使jQuery插件函数可调用以供独立使用,而不在集合上操作
- Jquery菜单操作不稳定,定位不正确,存在一般错误
- 如何确定javascript已经完成了某些操作.ios上的
- 防止Alt+Shift默认操作或检测多种操作系统语言的Javascript
- jQuery表单验证(如果==“执行此操作”)仅适用于第一次输入
- Ajax xml源解析依赖于jQuery的点击操作
- 关闭按钮(右上 X)以执行类似于控件的操作
- 将jQuery操作应用于特定控件
- 自定义渲染器未应用于表渲染手动可操作
- 为什么我的角度资源忽略特定于操作的 URL
- 如何获取不同选项卡的实例,以便我可以存储变量/执行特定于各个选项卡的操作
- 仅将画布复合应用于两个操作
- SSRS:操作“转到 URL”在应用于矩阵中的数据单元格后不起作用
- Javascript/Jquery-.every()等价于对对象进行操作
- 如何同步声明JS对象,然后用依赖于并发操作的数据编辑对象的属性
- javascript:我可以做类似于调用的操作,但需要一个属性
- JavaScript中特定于语言环境的小写/大写字符串操作
- JavaScript有类似于c#中的null传播操作吗?
- 将实际操作应用于右键单击上下文菜单
- 单击按钮执行类似于表中“转发”的操作