Angularjs的$http异步删除数据详解及实例


Posted in Javascript onJuly 27, 2017

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'
            },
            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;
      }])

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;
              });
            }
          });
        };

以上就是Angularjs的$http异步删除数据的实例详解,如有疑问请留言或者到本站社区交流讨论,感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

Javascript 相关文章推荐
js常见表单应用技巧
Jan 09 Javascript
用JS实现一个TreeMenu效果分享
Aug 28 Javascript
关于jQuery UI 使用心得及技巧
Oct 10 Javascript
jquery用get实现ajax在ie里面刷新不进入后台解决方法
Aug 12 Javascript
js如何判断输入字符串长度
Dec 16 Javascript
js判断移动端是否安装某款app的多种方法
Dec 18 Javascript
Javascript中的几种继承方式对比分析
Mar 22 Javascript
js在ie下打开对话窗口的方法小结
Oct 24 Javascript
JS实现京东首页之页面顶部、Logo和搜索框功能
Jan 12 Javascript
vue+vant-UI框架实现购物车的复选框全选和反选功能
Nov 05 Javascript
原生JavaScript实现购物车
Jan 10 Javascript
js实现简单图片拖拽效果
Feb 22 Javascript
js学习总结之DOM2兼容处理this问题的解决方法
Jul 27 #Javascript
Angularjs的键盘事件的绑定
Jul 27 #Javascript
Angularjs 事件指令详细整理
Jul 27 #Javascript
Bootstrap + AngularJS 实现简单的数据过滤字符查找功能
Jul 27 #Javascript
js学习总结之DOM2兼容处理重复问题的解决方法
Jul 27 #Javascript
angular中实现li或者某个元素点击变色的两种方法
Jul 27 #Javascript
js学习总结之DOM2兼容处理顺序问题的解决方法
Jul 27 #Javascript
You might like
《Pokemon Sword·Shield》系列WEB动画《薄明之翼》第2话声优阵容公开!
2020/03/06 日漫
微博短链接算法php版本实现代码
2012/09/15 PHP
深入学习微信网址链接解封的防封原理visit_type
2019/08/15 PHP
PHP设计模式(六)桥连模式Bridge实例详解【结构型】
2020/05/02 PHP
javascript Zifa FormValid 0.1表单验证 代码打包下载
2007/06/08 Javascript
jQuery 渐变下拉菜单
2009/12/15 Javascript
jQuery UI的Dialog无法提交问题的解决方法
2011/01/11 Javascript
jquery动态改变onclick属性导致失效的问题解决方法
2013/12/04 Javascript
jquery选择器需要注意的问题
2014/11/26 Javascript
jquery淡入淡出效果简单实例
2016/01/14 Javascript
动态的9*9乘法表效果的实现代码
2016/05/16 Javascript
jQuery层级选择器实例代码
2017/02/06 Javascript
微信小程序 UI与容器组件总结
2017/02/21 Javascript
JavaScript之面向对象_动力节点Java学院整理
2017/06/29 Javascript
js实现图片懒加载效果
2017/07/17 Javascript
javascript编程开发中取色器及封装$函数用法示例
2017/08/09 Javascript
Vue内容分发slot(全面解析)
2017/08/19 Javascript
代码分析vue中如何配置less
2018/09/28 Javascript
小程序实现上下移动切换位置
2019/09/23 Javascript
[01:14]辉夜杯战队访谈宣传片—NEWBEE.Y
2015/12/26 DOTA
python解析json实例方法
2013/11/19 Python
python3实现跳一跳点击跳跃
2018/01/08 Python
python使用knn实现特征向量分类
2018/12/26 Python
python+pyqt5实现KFC点餐收银系统
2019/01/24 Python
Python爬虫实现爬取百度百科词条功能实例
2019/04/05 Python
selenium+python环境配置教程详解
2019/05/28 Python
Python简单处理坐标排序问题示例
2019/07/11 Python
解决python中的幂函数、指数函数问题
2019/11/25 Python
Pyspark获取并处理RDD数据代码实例
2020/03/27 Python
Python+Opencv身份证号码区域提取及识别实现
2020/08/25 Python
HTML5 Canvas实现图片缩放、翻转、颜色渐变的代码示例
2016/02/28 HTML / CSS
先进班级集体事迹材料
2014/01/30 职场文书
旷课检讨书3000字
2014/02/04 职场文书
2016年离婚协议书范文
2016/03/18 职场文书
关于PostgreSQL JSONB的匹配和交集问题
2021/09/14 PostgreSQL
python blinker 信号库
2022/05/04 Python