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 相关文章推荐
js取得html iframe中的元素和变量值
Jun 30 Javascript
JQuery分屏指示器图片轮换效果实例
May 21 Javascript
JavaScript检测鼠标移动方向的方法
May 22 Javascript
JavaScript判断微信浏览器实例代码
Jun 13 Javascript
详解vue2.0组件通信各种情况总结与实例分析
Mar 22 Javascript
微信小程序如何获取openid及用户信息
Jan 26 Javascript
vue中使用cropperjs的方法
Mar 01 Javascript
JS 正则表达式验证密码、邮箱格式的实例代码
Oct 28 Javascript
如何优雅的在一台vps(云主机)上面部署vue+mongodb+express项目
Jan 20 Javascript
vue使用keep-alive保持滚动条位置的实现方法
Apr 09 Javascript
Vue动态组件和异步组件原理详解
May 06 Javascript
Vue基于iview table展示图片实现点击放大
Aug 05 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
PHP MYSQL乱码问题,使用SET NAMES utf8校正
2009/11/30 PHP
php数组函数序列之ksort()对数组的元素键名进行升序排序,保持索引关系
2011/11/02 PHP
php实现使用正则将文本中的网址转换成链接标签
2014/12/03 PHP
PHP中file_exists使用中遇到的问题小结
2016/04/05 PHP
thinkPHP5.0框架整体架构总览【应用,模块,MVC,驱动,行为,命名空间等】
2017/03/25 PHP
php代码调试利器firephp安装与使用方法分析
2018/08/21 PHP
PHP观察者模式定义与用法实例分析
2019/03/22 PHP
三种取消选中单选框radio的方法
2014/09/09 Javascript
js实现对table动态添加、删除和更新的方法
2015/02/10 Javascript
js+html5实现可在手机上玩的拼图游戏
2015/07/17 Javascript
jQuery+html5+css3实现圆角无刷新表单带输入验证功能代码
2015/08/21 Javascript
jQuery实例—选项卡的简单实现(js源码和jQuery)
2016/06/14 Javascript
基于KO+BootStrap+MVC实现的分页控件代码分享
2016/11/07 Javascript
JavaScript的兼容性与调试技巧
2016/11/22 Javascript
详解angular2封装material2对话框组件
2017/03/03 Javascript
javascript实现动态显示颜色块的报表效果
2017/04/10 Javascript
JS 学习总结之正则表达式的懒惰性和贪婪性
2017/07/03 Javascript
使用Vue写一个datepicker的示例
2018/01/27 Javascript
JS查找孩子节点简单示例
2019/07/25 Javascript
Node.js API详解之 zlib模块用法分析
2020/05/19 Javascript
[03:24]2014DOTA2国际邀请赛 神秘商店生意火爆
2014/07/18 DOTA
python获取文件版本信息、公司名和产品名的方法
2014/10/05 Python
Python入门篇之字典
2014/10/17 Python
Python搭建HTTP服务器和FTP服务器
2017/03/09 Python
Python对CSV、Excel、txt、dat文件的处理
2018/09/18 Python
python使用mitmproxy抓取浏览器请求的方法
2019/07/02 Python
Python文件路径名的操作方法
2019/10/30 Python
Matplotlib绘制雷达图和三维图的示例代码
2020/01/07 Python
在python tkinter界面中添加按钮的实例
2020/03/04 Python
tensorflow2.0的函数签名与图结构(推荐)
2020/04/28 Python
Timberland俄罗斯官方网上商店:全球领先的户外品牌
2020/03/15 全球购物
学校食品安全实施方案
2014/06/14 职场文书
注册资产评估专业求职信
2014/07/16 职场文书
中学生自我评价范文
2015/03/03 职场文书
工作自我推荐信范文
2015/03/25 职场文书
2019中小学生安全过暑期倡议书
2019/06/24 职场文书