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 相关文章推荐
关于实现代码语法标亮 dp.SyntaxHighlighter
Feb 02 Javascript
一个js写的日历(代码部分网摘)
Sep 20 Javascript
JQuery里选择超链接的实现代码
May 22 Javascript
Firefox和IE兼容性问题及解决方法总结
Oct 08 Javascript
使用JavaScript进行进制转换将字符串转换为十进制
Sep 21 Javascript
对Js OOP编程 创建对象的一些全面理解
Jul 26 Javascript
MUI  Scroll插件的使用详解
Apr 13 Javascript
微信小程序实现原生步骤条
Jul 25 Javascript
Layui之table中的radio在切换分页时无法记住选中状态的解决方法
Sep 02 Javascript
封装 axios+promise通用请求函数操作
Aug 11 Javascript
vue实现移动端触屏拖拽功能
Aug 21 Javascript
jdk1.8+vue elementui实现多级菜单功能
Sep 24 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
咖啡知识 除了喝咖啡还有那些知识点
2021/03/06 新手入门
php截取字符串并保留完整xml标签的函数代码
2013/02/06 PHP
php文件上传的例子及参数详解
2013/12/12 PHP
php集成套件服务器xampp安装使用教程(适合第一次玩PHP的新手)
2015/06/03 PHP
优化WordPress中文章与评论的时间显示
2016/01/12 PHP
关于ThinkPhp 框架表单验证及ajax验证问题
2017/07/19 PHP
详解cookie验证的php应用的一种SSO解决办法
2017/10/20 PHP
PHP中->和=>的含义及使用示例解析
2020/08/06 PHP
JavaScript OOP面向对象介绍
2010/12/02 Javascript
js闭包的用途详解
2014/11/09 Javascript
jQuery老黄历完整实现方法
2015/01/16 Javascript
获取阴历(农历)和当前日期的js代码
2016/02/15 Javascript
基于js对象,操作属性、方法详解
2016/08/11 Javascript
JS限制条件补全问题实例分析
2016/12/16 Javascript
easyui datebox 时间限制,datebox开始时间限制结束时间,datebox截止日期比起始日期大的实现代码
2017/01/12 Javascript
JS实现的简单表单验证功能完整实例
2017/10/14 Javascript
命令行批量截图Node脚本示例代码
2019/01/25 Javascript
JavaScript数据结构与算法之二叉树插入节点、生成二叉树示例
2019/02/21 Javascript
JS数据类型STRING使用实例解析
2019/12/18 Javascript
three.js 制作动态二维码的示例代码
2020/07/31 Javascript
python 图片验证码代码分享
2012/07/04 Python
python中类的一些方法分析
2014/09/25 Python
用Python实现协同过滤的教程
2015/04/08 Python
python 网络编程常用代码段
2016/08/28 Python
tensorflow实现简单的卷积神经网络
2018/05/24 Python
python GUI库图形界面开发之PyQt5下拉列表框控件QComboBox详细使用方法与实例
2020/02/27 Python
python与js主要区别点总结
2020/09/13 Python
如果重写了对象的equals()方法,需要考虑什么
2014/11/02 面试题
好矿嫂事迹材料
2014/01/21 职场文书
企业党员公开承诺书
2014/03/26 职场文书
小学生安全教育广播稿
2014/10/20 职场文书
会计继续教育培训心得体会
2016/01/19 职场文书
2019最新激励员工口号大全!
2019/06/28 职场文书
乔迁新居祝福语
2019/11/04 职场文书
SQL实现LeetCode(180.连续的数字)
2021/08/04 MySQL
Android Canvas绘制文字横纵向对齐
2022/06/05 Java/Android