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 相关文章推荐
用正则xmlHttp实现的偷(转)
Jan 22 Javascript
JSON.parse()和JSON.stringify()使用介绍
Jun 20 Javascript
酷! 不同风格页面布局幻灯片特效js实现
Feb 19 Javascript
javascript特殊文本输入框网页特效
Sep 13 Javascript
一道面试题引发的对javascript类型转换的思考
Mar 06 Javascript
微信小程序拍照和摄像功能实现方法示例
Feb 01 Javascript
Vue框架TypeScript装饰器使用指南小结
Feb 18 Javascript
webpack中如何加载静态文件的方法步骤
May 18 Javascript
vue element 中的table动态渲染实现(动态表头)
Nov 21 Javascript
vue 微信扫码登录(自定义样式)
Jan 06 Javascript
JS判断数组是否包含某元素实现方法汇总
Jun 24 Javascript
javascript的var与let,const之间的区别详解
Feb 18 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
利用文件属性结合Session实现在线人数统计
2006/10/09 PHP
php生成静态文件的多种方法分享
2012/07/17 PHP
深入解析Session是否必须依赖Cookie
2013/08/02 PHP
thinkphp实现图片上传功能分享
2014/03/04 PHP
PHP四大安全策略
2014/03/12 PHP
ThinkPHP模板之变量输出、自定义函数与判断语句用法
2014/11/01 PHP
php递归删除指定文件夹的方法小结
2015/04/20 PHP
Yii2中关联查询简单用法示例
2016/08/10 PHP
php获取数据库中数据的实现方法
2017/06/01 PHP
Laravel学习教程之model validation的使用示例
2017/10/23 PHP
ThinkPHP5+Layui实现图片上传加预览功能
2018/08/17 PHP
PHP封装的mysqli数据库操作类示例
2019/02/16 PHP
js获得页面的高度和宽度的方法
2014/02/23 Javascript
js利用正则表达式检验输入内容是否为网址
2016/07/05 Javascript
原生JS获取元素集合的子元素宽度实例
2016/12/14 Javascript
Bootstrap源码解读排版(1)
2016/12/23 Javascript
jQuery.form.js的使用详解
2017/06/14 jQuery
[原创]jQuery实现合并/追加数组并去除重复项的方法
2018/04/11 jQuery
微信小程序wx.uploadfile 本地文件转base64的实现代码
2018/06/28 Javascript
用图片替换checkbox原始样式并实现同样的功能
2018/11/15 Javascript
微信小程序实现定位及到指定位置导航的示例代码
2019/08/20 Javascript
详解Vue的七种传值方式
2021/02/08 Vue.js
[01:32]2016国际邀请赛中国区预选赛CDEC战队教练采访
2016/06/26 DOTA
python list 合并连接字符串的方法
2013/03/09 Python
python3 动态模块导入与全局变量使用实例
2019/12/22 Python
Python爬虫实例——爬取美团美食数据
2020/07/15 Python
CSS3中animation实现流光按钮效果
2020/12/21 HTML / CSS
HTMl5的存储方式sessionStorage和localStorage详解
2014/03/18 HTML / CSS
GIVENCHY纪梵希官方旗舰店:高定彩妆与贵族护肤品
2018/04/16 全球购物
西雅图的买手店:Totokaelo
2019/10/19 全球购物
德国滑雪和户外用品网上商店:XSPO
2019/10/30 全球购物
介绍一下linux文件系统分配策略
2013/02/25 面试题
“九一八事变纪念日”国旗下讲话稿
2014/09/14 职场文书
布达拉宫的导游词
2015/02/02 职场文书
签约仪式致辞
2015/07/30 职场文书
业余无线电通联Q语
2022/02/18 无线电