angularJS中$http.get( ).success( )报错原因及解决方案
一、问题描述:
电脑安装的angular1.6.7版本,项目中使用了$http.get( ).success( ),控制台报错:
$http.get(...).success is not a function
就是说找不到success方法,同样也找不到error方法。
二、原因分析
经查询,从1.6版本开始,angular正式移除了success和error方法。从1.5版本开始,angular多出来then( )方法。因此,从1.6版本后不能使用success和error方法,可以采用then( )方法替代。
三、使用$http.get( ).then( )替代
原success代码示例:
angular.module("app").controller("mainCtrl",["$http","$scope",function ($http,$scope) {
$http.get('data/positionList.json').success(function (resp) {
$scope.list=resp;
console.log($scope.list);
});
}])
直接将success换成then:
angular.module("app").controller("mainCtrl",["$http","$scope",function ($http,$scope) {
$http.get('data/positionList.json').then(function (resp) {
$scope.list=resp;
console.log($scope.list);
});
}])
发现得到的数据有差异:
在使用success时得到的就是标红框部分数组,而使用then时得到的却是一个对象,数组成了对象的一个属性。
因此在形参后面加上data属性即可解决:
angular.module("app").controller("mainCtrl",["$http","$scope",function ($http,$scope) {
$http.get('data/positionList.json').then(function (resp) {
$scope.list=resp.data;
console.log($scope.list);
});
}])
四、备注:
$http.post( ).success( )可正常使用,不会报错;
使用 $http.post( ).then( )反而会报错。
angularJS中$http.get( ).success( )报错原因及解决方案的更多相关文章
- 分析https网页加载http资源导致的页面报错原因及其解决方案
https网页加载http资源导致的页面报错及解决方案 https是当下的网站的主流趋势,甚至像苹果这样的大公司,则完全要求用户必须使用https地址. 然而对于以前http链接来说,我们往往就存在一 ...
- ie7,8下__flash__addCallback报错原因及解决方案
首先附张图,以直观说明错误的现象:(ie7.8)
- VMware报错“原因: 未能锁定文件”,打开失败
原文:http://jingyan.baidu.com/article/425e69e6bf64dbbe15fc16fe.html VMware打开复制的虚拟机,报错“原因: 未能锁定文件”,打开失败 ...
- 查看报错原因 sshd -t
b for ssh.service failed because the control process exited with error code. See "systemctl sta ...
- @Autowired报错原因分析和4种解决方案!
上图的报错信息相信大部分程序员都遇到过,奇怪的是虽然代码报错,但丝毫不影响程序的正常执行,也就是虽然编译器 IDEA 报错,但程序却能正常的执行,那这其中的原因又是为何? 报错原因分析 报错的原因 ...
- Selenium+PhantomJS使用时报错原因及解决方案(转)
Selenium+PhantomJS使用时报错原因及解决方案 问题 今天在使用selenium+PhantomJS动态抓取网页时,出现如下报错信息: UserWarning: Selenium ...
- Python3.x:关于urllib中urlopen报错问题的解决方案
Python3.x:关于urllib中urlopen报错问题的解决方案 调用:urllib.urlopen(url) 报错:AttributeError: 'module' object has no ...
- ABP ModuleZero 添加角色_创建角色是报错的问题解决方案
ABP升级后,大概3.6.1以后,在.net framework里面,从官方下载的Module zero模板添加角色是出现下面错误. 这个问题,算是新版apb的一点小缺憾,好像在.net core的模 ...
- 关于Entity Framework中的Attached报错的完美解决方案终极版
之前发表过一篇文章题为<关于Entity Framework中的Attached报错的完美解决方案>,那篇文章确实能解决单个实体在进行更新.删除时Attached的报错,注意我这里说的单个 ...
随机推荐
- 鬼吹灯之龙岭迷窟百度云迅雷BT在线观看免费全集
看视频搜索微信公众号:qyw1091 还记得去年5月11日在高家堡举行的<鬼吹灯之龙岭迷窟>开机仪式吗?时隔数月,这部网剧于4月1日将在腾讯视频全网独播了! . <鬼吹灯之龙岭迷窟& ...
- 数据科学 R语言速成
文章更新于:2020-03-07 按照惯例,需要的文件附上链接放在文首: 文件名:R-3.6.2-win.exe 文件大小:82.4M 下载链接:https://www.lanzous.com/i9c ...
- 2020-3-3 20175110王礼博 《网络对抗技术》Exp1 PC平台逆向破解
目录 1.实践目标与基础知识 2.直接修改程序机器指令,改变程序执行流程 3.通过构造输入参数,造成BOF攻击,改变程序执行流 4.注入Shellcode并执行 5.实验收获与感想 6.什么是漏洞?漏 ...
- matplotlib TransformNode类
TransformNode 是所有参与变换的类和所有需要无效自己或祖先的类的基类 方法: __init__(shorthand_name=None): 参数 [shorthand_name]: 别名 ...
- python3(十八)decorator
# -----------------------1-------------------------------------------- # 由于函数也是一个对象,而且函数对象可以被赋值给变量,所 ...
- 配置spark历史服务(spark二)
1. 编辑spark-defaults.conf位置文件 添加spark.eventLog.enabled和spark.eventLog.dir的配置修改spark.eventLog.dir为我们之前 ...
- 关于Python 迭代器和生成器 装饰器
Python 简介Python 是一个高层次的结合了解释性.编译性.互动性和面向对象的脚本语言. Python 的设计具有很强的可读性,相比其他语言经常使用英文关键字,其他语言的一些标点符号,它具有比 ...
- 127.0.0.1和localhost区别
- 生成3D多棱柱的方法(3D立体图片)
先上一个效果图 主要运用的技术点就是 确认基点,确认每个盒子旋转的度数 3D变换 transform: rotateY(-360deg); 景深 perspective 3D舞台 transfor ...
- 反射----获取class对象的五种方法
反射Reflection 配合注解使用会格外强大,反射注解,天生一对 类如何加载? 动态语言和静态语言.我知道是什么,不用总结了. 由于反射,Java可以称为准动态语言. 允许通过反射获得类的全部信息 ...