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 相关文章推荐
总结AJAX相关JS代码片段和浏览器模型
Aug 15 Javascript
Mootools 1.2教程 事件处理
Sep 15 Javascript
Javascript浮点数乘积运算出现多位小数的解决方法
Feb 17 Javascript
JavaScript利用构造函数和原型的方式模拟C#类的功能
Mar 06 Javascript
初识SmartJS - AOP三剑客
Jun 08 Javascript
jQuery中offsetParent()方法用法实例
Jan 19 Javascript
实例讲解JavaScript的Backbone.js框架中的View视图
May 05 Javascript
AngularJS上拉加载问题解决方法
May 23 Javascript
详解Vue中状态管理Vuex
May 11 Javascript
Angular实现类似博客评论的递归显示及获取回复评论的数据
Nov 06 Javascript
axios post提交formdata的实例
Mar 16 Javascript
微信小程序实现下拉菜单切换效果
Mar 30 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
php 动态执行带有参数的类方法
2009/04/10 PHP
检查url链接是否已经有参数的php代码 添加 ? 或 &
2010/02/09 PHP
php命令行用法入门实例教程
2014/10/27 PHP
php 魔术常量详解及实例代码
2016/12/04 PHP
Redis在Laravel项目中的应用实例详解
2017/08/11 PHP
JS关闭窗口或JS关闭页面的几种代码分享
2013/10/25 Javascript
回车直接实现点击某按钮的效果即触发单击事件
2014/02/27 Javascript
浅谈jquery设置和获得checkbox选中的问题
2016/08/19 Javascript
JavaScript类的写法
2016/09/17 Javascript
bootstrapValidator bootstrap-select验证不可用的解决办法
2017/01/11 Javascript
原生JavaScript实现todolist功能
2018/03/02 Javascript
Vue props 单向数据流的实现
2018/11/06 Javascript
vue 实现走马灯效果
2019/10/28 Javascript
JS+CSS实现随机点名(实例代码)
2019/11/04 Javascript
[01:14]DOTA2亚洲邀请赛 ShowOpen
2015/02/07 DOTA
在IIS服务器上以CGI方式运行Python脚本的教程
2015/04/25 Python
Python实现简单的四则运算计算器
2016/11/02 Python
浅析Python3爬虫登录模拟
2018/02/07 Python
python使用sqlite3时游标使用方法
2018/03/13 Python
python三大神器之fabric使用教程
2019/06/10 Python
Django生成PDF文档显示在网页上以及解决PDF中文显示乱码的问题
2019/07/04 Python
python+jinja2实现接口数据批量生成工具
2019/08/28 Python
python将字符串转变成dict格式的实现
2019/11/18 Python
2020新版本pycharm+anaconda+opencv+pyqt环境配置学习笔记,亲测可用
2020/03/24 Python
python 制作python包,封装成可用模块教程
2020/07/13 Python
Vero Moda西班牙官方购物网站:丹麦BESTSELLER旗下知名女装品牌
2018/04/27 全球购物
当一个对象被当作参数传递到一个方法后,此方法可改变这个对象的属性,并可返回变化后的结果,那么这里到底是值传递还是引用传递?
2014/09/09 面试题
大型活动策划方案
2014/01/12 职场文书
大学校园毕业自我鉴定
2014/01/15 职场文书
2014年道德讲堂实施方案
2014/03/05 职场文书
五一口号
2014/06/19 职场文书
找工作求职信
2014/07/07 职场文书
说谎欺骗人检讨书300字
2014/11/18 职场文书
工作汇报材料难写?方法都在这里了!
2019/07/01 职场文书
java executor包参数处理功能 
2022/02/15 Java/Android
vue实现列表拖拽排序的示例代码
2022/04/08 Vue.js