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 相关文章推荐
jquery cookie插件代码类
May 26 Javascript
JavaScript高级程序设计(第3版)学习笔记4 js运算符和操作符
Oct 11 Javascript
javascript object array方法使用详解
Dec 03 Javascript
9行javascript代码获取QQ群成员具体实现
Oct 16 Javascript
禁用Enter键表单自动提交实现代码
May 22 Javascript
bootstrap data与jquery .data
Jul 07 Javascript
jQuery关键词说明插件cluetip使用指南
Apr 21 Javascript
Jil,高效的json序列化和反序列化库
Feb 15 Javascript
javascript中的event loop事件循环详解
Dec 14 Javascript
微信小程序和H5页面间相互跳转代码实例
Sep 19 Javascript
解决 window.onload 被覆盖的问题方法
Jan 14 Javascript
Vue 打包的静态文件不能直接运行的原因及解决办法
Nov 19 Vue.js
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
PHP url 加密解密函数代码
2011/08/26 PHP
PHP的变量类型和作用域详解
2014/03/12 PHP
php+mysqli批量查询多张表数据的方法
2015/01/29 PHP
PHP 中提示undefined index如何解决(多种方法)
2016/03/16 PHP
php短信接口代码
2016/05/13 PHP
php正则修正符用法实例详解
2016/12/29 PHP
PHP 进程池与轮询调度算法实现多任务的示例代码
2019/11/26 PHP
jQuery选择没有colspan属性的td的代码
2010/07/06 Javascript
JS onmousemove鼠标移动坐标接龙DIV效果实例
2013/12/16 Javascript
javascript跑马灯抽奖实例讲解
2020/04/17 Javascript
浅谈js中的三种继承方式及其优缺点
2016/08/10 Javascript
angular2 ng build部署后base文件路径问题详细解答
2017/07/15 Javascript
react-router 路由切换动画的实现示例
2018/12/03 Javascript
Layui多选只有最后一个值的解决方法
2019/09/02 Javascript
python实现网页链接提取的方法分享
2014/02/25 Python
Python的Django框架中的Context使用
2015/07/15 Python
Python用list或dict字段模式读取文件的方法
2017/01/10 Python
Python使用回溯法子集树模板解决迷宫问题示例
2017/09/01 Python
python实现图像识别功能
2018/01/29 Python
Python使用xlwt模块操作Excel的方法详解
2018/03/27 Python
Python基于win32ui模块创建弹出式菜单示例
2018/05/09 Python
Python 判断文件或目录是否存在的实例代码
2018/07/19 Python
基于python指定包的安装路径方法
2018/10/27 Python
用Python实现数据的透视表的方法
2018/11/16 Python
Python二进制文件读取并转换为浮点数详解
2019/06/25 Python
Python bytes string相互转换过程解析
2020/03/05 Python
详解CSS3中常用的样式【基本文本和字体样式】
2020/10/20 HTML / CSS
remote接口和home接口主要作用
2013/05/15 面试题
董事长秘书岗位职责
2013/11/29 职场文书
法律专业应届生自荐信范文
2014/01/06 职场文书
地理信息科学专业推荐信
2014/09/08 职场文书
小学假期安全广播稿
2014/09/28 职场文书
机关党员三严三实心得体会
2014/10/13 职场文书
六一领导慰问欢迎词
2015/01/26 职场文书
不要在HTML中滥用div
2021/05/08 HTML / CSS
yyds什么意思?90后已经听不懂00后讲话了……
2022/02/03 杂记