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 FlexiGrid的asp.net完美解决方案 dotNetFlexGrid-.Net原生的异步表格控件
Sep 12 Javascript
document.write的几点使用心得
May 14 Javascript
jquery实现滑动特效代码
Aug 10 Javascript
基于JavaScript将表单序列化类型的数据转化成对象的处理(允许对象中包含对象)
Dec 28 Javascript
jQuery根据name属性进行查找的用法分析
Jun 23 Javascript
jQuery实现表格隔行及滑动,点击时变色的方法【测试可用】
Aug 20 Javascript
Kendo Grid editing 自定义验证报错提示的解决方法
Nov 18 Javascript
JS扩展类,克隆对象与混合类实例分析
Nov 26 Javascript
Vue组件通信实践记录(推荐)
Aug 15 Javascript
AngularJS 中的数据源的循环输出
Oct 12 Javascript
three.js实现3D视野缩放效果
Nov 16 Javascript
微信小程序实用代码段(收藏版)
Dec 17 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
ip签名探针
2006/10/09 PHP
php版微信自动获取收货地址api用法示例
2016/09/22 PHP
实例:用 JavaScript 来操作字符串(一些字符串函数)
2007/02/15 Javascript
function, new function, new Function之间的区别
2007/03/08 Javascript
firefox浏览器下javascript 拖动层效果与原理分析代码
2007/12/04 Javascript
javascript  Error 对象 错误处理
2008/05/18 Javascript
来自国外的30个基于jquery的Web下拉菜单
2012/06/22 Javascript
javascript单例模式的简单实现方法
2015/07/25 Javascript
浅谈js构造函数的方法与原型prototype
2016/07/04 Javascript
详解js中call与apply关键字的作用
2016/11/21 Javascript
JavaScript插件Tab选项卡效果
2017/11/14 Javascript
vue.js中$set与数组更新方法
2018/03/08 Javascript
在vue-cli项目中使用bootstrap的方法示例
2018/04/21 Javascript
详解webpack打包nodejs项目(前端代码)
2018/09/19 NodeJs
微信小程序 生成携带参数的二维码
2019/10/23 Javascript
Vue+webpack实现懒加载过程解析
2020/02/17 Javascript
Vue插件之滑动验证码用法详解
2020/04/05 Javascript
scrapy自定义pipeline类实现将采集数据保存到mongodb的方法
2015/04/16 Python
Python原始字符串与Unicode字符串操作符用法实例分析
2017/07/22 Python
python3的print()函数的用法图文讲解
2019/07/16 Python
python3.6+django2.0+mysql搭建网站过程详解
2019/07/24 Python
wxpython+pymysql实现用户登陆功能
2019/11/19 Python
python 实现仿微信聊天时间格式化显示的代码
2020/04/17 Python
python 爬取B站原视频的实例代码
2020/09/09 Python
PyTorch中clone()、detach()及相关扩展详解
2020/12/09 Python
结合CSS3的新特性来总结垂直居中的实现方法
2016/05/30 HTML / CSS
阿玛尼美妆俄罗斯官网:Giorgio Armani Beauty RU
2020/07/19 全球购物
大学专科生推荐信范文
2013/11/23 职场文书
房屋出租委托书格式
2014/09/23 职场文书
人身损害赔偿协议书格式
2014/11/01 职场文书
展览会邀请函
2015/02/02 职场文书
公务员年度个人总结
2015/02/12 职场文书
独生子女证明范本
2015/06/19 职场文书
z-index不起作用
2021/03/31 HTML / CSS
利用javaScript处理常用事件详解
2021/04/14 Javascript
MySQL串行化隔离级别(间隙锁实现)
2022/06/16 MySQL