我正在学习Angluarjs的$资源。我在HTML上设置了一个按钮,用于从json文件中删除记录,并希望从testForm.json文件中删除一条记录。不幸的是,我没有这样做,无法解决问题。
代码在这里:my Angularjs code 控制器代码中的删除功能如下所示
$scope.deleteRecord = function () {
var id = 1;
var arecord = new singleResource();
arecord.$get({userId:id},function () {
$log.info(arecord);
arecord.$delete();
});
删除功能的HTML部分如下所示:
<div class="form-group">
<div class="col-sm-6 col-sm-push-2">
<button type="button" class="btn btn-primary" ng-click="deleteRecord()">Delete information</button>
</div>
</div>
&#34; $ scope.deleteRecord&#34;是单击“删除信息”按钮时,应删除json文件中id = 1的记录的功能。错误说:&#34;删除http://localhost:3000/contactInfo 404(未找到):3000 / contactInfo:1&#34;,而&#34; arecord&#34;在日志中显示为对象&#34; m {email:&#34; 333 @ 333&#34;,密码:321,方法:&#34; Internet&#34;,id:1,$ promise:undefined ......}&#34;,应该没问题。
答案 0 :(得分:1)
<强> $ HTTP 强>
$ http.get('/ someUrl',config).then(successCallback,errorCallback);
$ http.post('/ someUrl',data,config).then(successCallback,errorCallback);
$ http 内置于Angular中,因此不需要在外部依赖项中加载额外的开销。 $ http很快就好了 检索实际上不需要任何特定的服务器端数据 结构或复杂的行为。它可能最好直接注射 为了简单起见,进入你的控制器。
<强> $资源强>
可以使用以下参数调用类对象或实例对象上的操作方法:
HTTP GET“class”操作:Resource.action([parameters],[success],[error])
非GET“类”操作:Resource.action([parameters],postData,[success],[error])
$ resouce 适用于比$ http稍微复杂的情况。当你有漂亮的结构化数据时,这很好,但是你 计划完成大部分的运算,关系和其他操作 在提供API响应之前在服务器端。 $资源 将数据导入JavaScript后,您不会做太多事情 应用程序,所以你应该将它交付给最终状态的应用程序并制作 当你需要从一个操作或查看它时,更多的REST调用 不同的角度。
您也可以使用:restangular https://github.com/mgonto/restangular
Restangular 是客户端复杂操作的完美选择。它可以让您轻松附加自定义行为和交互 您的数据与其他模型范例的方式大致相同 在过去使用过。
Angularjs指南:https://docs.angularjs.org/api/ng/service/ $ http#delete
尝试使用删除方法:
$scope.deleteRecord = function () {
var id = 1;
var arecord = new singleResource();
arecord.$delete({userId:id},function () {
$log.info(arecord);
//arecord.$delete();
});
或
$http({
method: 'DELETE',
url: '/someUrl'
}).then(function successCallback(response) {
// this callback will be called asynchronously
// when the response is available
}, function errorCallback(response) {
// called asynchronously if an error occurs
// or server returns response with an error status.
});
我希望它有所帮助。