AngularJS中update两次出现$promise属性无法识别的解决方法


Posted in Javascript onJanuary 05, 2017

前言

本文主要介绍的是在AngularJS中update两次出现$promise属性无法识别的解决方法,下面话不多说,先来看看错误提示,然后再看看解决的办法吧。

一、错误信息如下:

ERROR 2015-12-02 14:33:17,653 http-bio-8080-exec-42 o.s.s.r.i.e.InternalErrorExceptionMapper - Unrecognized field "$promise" (class com.inetpsa.fnd.rest.client.ClientRepresentation), not marked as ignorable (6 known properties: "lastName", "address", "telephone", "clientId", "mail", "firstName"]) 
 at [Source: org.apache.catalina.connector.CoyoteInputStream@1b9d797d; line: 1, column: 357] (through reference chain: com.inetpsa.fnd.rest.client.ClientRepresentation["$promise"]) 
com.fasterxml.jackson.databind.exc.UnrecognizedPropertyException: Unrecognized field "$promise" (class com.inetpsa.fnd.rest.client.ClientRepresentation), not marked as ignorable (6 known properties: "lastName", "address", "telephone", "clientId", "mail", "firstName"]) 
 at [Source: org.apache.catalina.connector.CoyoteInputStream@1b9d797d; line: 1, column: 357] (through reference chain: com.inetpsa.fnd.rest.client.ClientRepresentation["$promise"]) 
 at com.fasterxml.jackson.databind.exc.UnrecognizedPropertyException.from(UnrecognizedPropertyException.java:51) ~[jackson-databind-2.4.4.jar:2.4.4] 
 at com.fasterxml.jackson.databind.DeserializationContext.reportUnknownProperty(DeserializationContext.java:744) ~[jackson-databind-2.4.4.jar:2.4.4] 
 at com.fasterxml.jackson.databind.deser.std.StdDeserializer.handleUnknownProperty(StdDeserializer.java:915) ~[jackson-databind-2.4.4.jar:2.4.4] 
 at com.fasterxml.jackson.databind.deser.BeanDeserializerBase.handleUnknownProperty(BeanDeserializerBase.java:1306) ~[jackson-databind-2.4.4.jar:2.4.4] 
 at com.fasterxml.jackson.databind.deser.BeanDeserializerBase.handleUnknownVanilla(BeanDeserializerBase.java:1284) ~[jackson-databind-2.4.4.jar:2.4.4] 
 at com.fasterxml.jackson.databind.deser.BeanDeserializer.vanillaDeserialize(BeanDeserializer.java:243) ~[jackson-databind-2.4.4.jar:2.4.4] 
 at com.fasterxml.jackson.databind.deser.BeanDeserializer.deserialize(BeanDeserializer.java:118) ~[jackson-databind-2.4.4.jar:2.4.4]

二、问题代码

AngularJS中update两次出现$promise属性无法识别的解决方法

Angular 自动会在返回的data数据中带上$promise属性。

AngularJS中update两次出现$promise属性无法识别的解决方法

在进行下面copy时将从data返回的数据copy到当前行用来显示,这样在进行update的操作时带的数据体中就包含了$promise属性,结果就会出现上述错误导致update失败。  

AngularJS中update两次出现$promise属性无法识别的解决方法

三、更改如下:

// ===============show the update modal dialog ================== 
 $scope.tempRowEntityForUpdate; 
 $scope.openUpdateClientPopup=function(){ 
 $scope.form1.$setSubmitted(true); 
 $scope.tempRowEntityForUpdate = {}; 
 angular.copy($scope.currentSelectedRowEntity, $scope.tempRowEntityForUpdate); 
 angular.element('#UpdateDialog').modal({ 
 backdrop: false 
 }); 
 
 }; 
 
 $scope.updateClient=function(){ 
 if($scope.form1.$submitted && $scope.form1.$valid){ 
 Client.update({},$scope.tempRowEntityForUpdate,function(){ 
  angular.copy($scope.tempRowEntityForUpdate,$scope.currentSelectedRowEntity); 
 }); 
 
 angular.element('#UpdateDialog').modal('hide'); 
 } 
 };

解决办法:不使用更新后获得的data数据,而是从当前的行模型中取得数据copy给当前选中的行即可。

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流。

Javascript 相关文章推荐
jQuery文件上传插件Uploadify使用指南
Jun 05 Javascript
超链接的禁用属性Disabled使用示例
Jul 31 Javascript
jQuery中document与window以及load与ready 区别详解
Dec 29 Javascript
jQuery检测鼠标左键和右键点击的方法
Mar 17 Javascript
vue.js选中动态绑定的radio的指定项
Jun 02 Javascript
基于jQuery封装的分页组件
Jun 26 jQuery
Vue实现active点击切换方法
Mar 16 Javascript
详解如何使用nvm管理Node.js多版本
May 06 Javascript
webpack 如何解析代码模块路径的实现
Sep 04 Javascript
ES6的异步操作之promise用法和async函数的具体使用
Dec 06 Javascript
JS内置对象和Math对象知识点详解
Apr 03 Javascript
vuecli项目构建SSR服务端渲染的实现
Oct 30 Javascript
jQuery展示表格点击变色、全选、删除
Jan 05 #Javascript
JSON字符串和JSON对象相互转化实例详解
Jan 05 #Javascript
JS实现随机颜色的3种方法与颜色格式的转化
Jan 05 #Javascript
jQuery选择器实例应用
Jan 05 #Javascript
使用smartupload组件实现jsp+jdbc上传下载文件实例解析
Jan 05 #Javascript
javascript解析ajax返回的xml和json格式数据实例详解
Jan 05 #Javascript
Node.js中文件操作模块File System的详细介绍
Jan 05 #Javascript
You might like
javascript 跳转代码集合
2009/12/03 Javascript
JQuery 将元素显示在屏幕的中央的代码
2010/02/27 Javascript
javascript 打开页面window.location和window.open的区别
2010/03/17 Javascript
javascript 动态修改样式和层叠样式表代码
2010/04/27 Javascript
浅谈Javascript面向对象编程
2011/11/15 Javascript
深入理解JavaScript系列(6):S.O.L.I.D五大原则之单一职责SRP
2012/01/15 Javascript
用客户端js实现带省略号的分页
2013/04/27 Javascript
JS验证IP,子网掩码,网关和MAC的方法
2015/07/02 Javascript
浅谈Javascript中Object与Function对象
2015/09/26 Javascript
JS制作适用于手机和电脑的通知信息效果
2016/10/28 Javascript
Javascript使用function创建类的两种方法(推荐)
2016/11/19 Javascript
angular ng-repeat数组中的数组实例
2017/02/18 Javascript
js canvas实现放大镜查看图片功能
2017/06/08 Javascript
jQuery+css last-child实现选择最后一个子元素操作示例
2018/12/10 jQuery
vue使用keep-alive保持滚动条位置的实现方法
2019/04/09 Javascript
vue+Element实现搜索关键字高亮功能
2019/05/28 Javascript
jquery插件开发模式实例详解
2019/07/20 jQuery
超详细小程序定位地图模块全系列开发教学
2020/11/24 Javascript
python修改字典内key对应值的方法
2015/07/11 Python
Python+Socket实现基于TCP协议的客户与服务端中文自动回复聊天功能示例
2017/08/31 Python
python中实现指定时间调用函数示例代码
2017/09/08 Python
详谈python3中用for循环删除列表中元素的坑
2018/04/19 Python
python实现键盘控制鼠标移动
2020/11/27 Python
使用PyOpenGL绘制三维坐标系实例
2019/12/24 Python
pytorch 自定义卷积核进行卷积操作方式
2019/12/30 Python
浅谈Python中os模块及shutil模块的常规操作
2020/04/03 Python
使用Python中tkinter库简单gui界面制作及打包成exe的操作方法(二)
2020/10/12 Python
手工制作的意大利皮革运动鞋:KOIO
2020/01/05 全球购物
巴西备受欢迎的服装和生活方式品牌:FARM Rio
2020/02/04 全球购物
请用Python写一个获取用户输入数字,并根据数字大小输出不同信息的脚本
2014/05/20 面试题
计算机专业推荐信范文
2013/11/27 职场文书
财务科科长岗位职责
2014/03/10 职场文书
房屋租赁授权委托书范本
2014/09/20 职场文书
财务工作失误检讨书
2015/02/19 职场文书
小学生五一劳动节演讲稿
2015/03/18 职场文书
2015年党员发展工作总结
2015/05/13 职场文书