解析Angularjs的$http异步删除数据及实例
这篇文章主要介绍了Angularjs的$http异步删除数据详解及实例的相关资料,这里提供实现思路及实现具体的方法,写的十分的全面细致,具有一定的参考价值,对此有需要的朋友可以参考学习下。如有不足之处,欢迎批评指正。
Angularjs的$http异步删除数据详解及实例
有人会说删除这东西有什么可讲的,写个删除的service,controller调用一下不就完了。 嗯...看起来是这样,但是具体实现起来真的有这么简单吗?首先有以下几个坑 怎么确定数据是否删除成功? 怎么同步视图的数据库的内容?
1.思路
1.实现方式一
删除数据库中对应的内容,然后将$scope中的对应的内容splice
2.实现方式二
删除数据库中对应的内容,然后再reload一下数据(也就是再调用一次查询方法,这种消耗可想而知,并且还要保证先删除数据再查询)
2.具体实现方式
删除数据的service:用异步,返回promise
service('deleteBlogService',//删除博客 ['$rootScope', '$http', '$q', function ($rootScope, $http, $q) { var result = {}; result.operate = function (blogId) { var deferred = $q.defer(); $http({ headers: { 'Content-Type': 'application/x-www-form-urlencoded;charset=UTF-8' },//欢迎加入前端全栈开发交流圈一起学习交流:864305860 url: $rootScope.$baseUrl + "/admin/blog/deleteBlogById", method: 'GET', dataType: 'json', params: { id: blogId } }) .success(function (data) { deferred.resolve(data); console.log("删除成功!"); }) .error(function () { deferred.reject(); alert("删除失败!") }); return deferred.promise; }; return result; }])//欢迎加入前端全栈开发交流圈一起学习交流:864305860
controller里面注意事项
要特别注意执行顺序:确保己经删除完成之后再去reload数据,不然会出来视图不更新
/** * 删除博客 */ $scope.deleteBlog = function (blogId) { var deletePromise = deleteBlogService.operate(blogId); deletePromise.then(function (data) { if (data.status == 200) { var promise = getBlogListService.operate($scope.currentPage); promise.then(function (data) { $scope.blogs = data.blogs; $scope.pageCount = $scope.blogs.totalPages; });//欢迎加入前端全栈开发交流圈一起吹水聊天学习交流:864305860 }//面向1-3年前端人员 });//帮助突破技术瓶颈,提升思维能力 };
结语
感谢您的观看,如有不足之处,欢迎批评指正。
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
示例Express中路由规则及获取请求参数
本次给大家分享一篇基于express中路由规则及获取请求参数的方法,写的十分的全面细致,具有一定的参考价值,对此有需要的朋友可以参考学习下。如有不足之处,欢迎批评指正。 express中常见的路由规则 主要使用的路由规则是get和post两种,即 var express = require('express'); var app = express(); app.get(); // get和post两种请求方式 app.post();//欢迎加入前端全栈开发交流圈一起学习交流:864305860 app.get()和app.post()的第一个参数为请求路径,第二个参数为处理请求的回调函数;回调函数有两个参数,分别为req和res,代表请求信息和响应信息。 获取请求路径和请求体中的各种参数 路径请求及对应获取请求路径的形式有以下几种: (1)req.query (查询get请求中的参数) GET /shoes?order=desc&shoe[type]=converse&shoe[color]=blue req.query.order // =>'desc' re...
- 下一篇
深入解析ES6之数据解构的用法
本文介绍了深入理解ES6之数据解构的用法,写的十分的全面细致,具有一定的参考价值,对此有需要的朋友可以参考学习下。如有不足之处,欢迎批评指正。 一 对象解构 对象解构语法在赋值语句的左侧使用了对象字面量 let node = { type: true, name: false } //既声明又赋值 let { type, name } = node; //或者先声明再赋值 let type, name ({type,name} = node); console.log(type);//true console.log(name);//false type与name标识符既声明了本地变量,也读取了对象的相应属性值。 解构赋值表达式的值为表达式右侧的值。当解构表达式的右侧的计算结果为null或者undefined时,会抛出错误。 默认值 当你使用解构赋值语句时,如果所指定的本地变量在对象中没有找到同名属性,那么该变量会被赋值为undefined let node = { type: true, name: false }, type, name, value; ({type,value,n...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- SpringBoot2配置默认Tomcat设置,开启更多高级功能
- CentOS7,8上快速安装Gitea,搭建Git服务器
- Docker使用Oracle官方镜像安装(12C,18C,19C)
- CentOS8,CentOS7,CentOS6编译安装Redis5.0.7
- CentOS关闭SELinux安全模块
- CentOS7设置SWAP分区,小内存服务器的救世主
- Docker安装Oracle12C,快速搭建Oracle学习环境
- Docker快速安装Oracle11G,搭建oracle11g学习环境
- SpringBoot2全家桶,快速入门学习开发网站教程
- CentOS7编译安装Gcc9.2.0,解决mysql等软件编译问题