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 相关文章推荐
Javascript代码混淆综合解决方案-Javascript在线混淆器
Dec 18 Javascript
20个非常棒的Jquery实用工具 国外文章
Jan 01 Javascript
js 复制或插入Html的实现方法小结
May 19 Javascript
javascript学习笔记(三)显示当时时间的代码
Apr 08 Javascript
jquery插件uploadify多图上传功能实现代码
Aug 12 Javascript
浅谈bootstrap使用中的一些问题以及解决过程
Oct 18 Javascript
React组件之间的通信的实例代码
Jun 27 Javascript
lhgcalendar时间插件限制只能选择三个月的实现方法
Jul 03 Javascript
vue.js,ajax渲染页面的实例
Feb 11 Javascript
vue+express 构建后台管理系统的示例代码
Jul 19 Javascript
layui.tree组件的使用以及搜索节点功能的实现
Sep 26 Javascript
JavaScript编写开发动态时钟
Jul 29 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分页类的代码
2011/05/18 PHP
PHP Global变量定义当前页面的全局变量实现探讨
2013/06/05 PHP
学习php开源项目的源码指南
2014/12/21 PHP
php简单构造json多维数组的方法示例
2017/06/08 PHP
PHP设计模式之简单工厂和工厂模式实例分析
2019/03/25 PHP
javascript中节点的最近的相关节点访问方法
2013/03/20 Javascript
js onclick事件传参讲解
2013/11/06 Javascript
Javascript实现带关闭按钮的网页漂浮广告代码
2014/01/12 Javascript
js冒泡、捕获事件及阻止冒泡方法详细总结
2014/05/08 Javascript
jQuery可见性过滤器:hidden和:visibility用法实例
2015/06/24 Javascript
深入理解JavaScript函数参数(推荐)
2016/07/26 Javascript
JS刷新父窗口的几种方式小结(推荐)
2016/11/09 Javascript
详解Sea.js中Module.exports和exports的区别
2017/02/12 Javascript
jQuery插件开发发送短信倒计时功能代码
2017/05/09 jQuery
JS使用插件cryptojs进行加密解密数据实例
2017/05/11 Javascript
JS随机排序数组实现方法分析
2017/10/11 Javascript
ES6使用Set数据结构实现数组的交集、并集、差集功能示例
2017/10/31 Javascript
js将当前时间格式化为 年-月-日 时:分:秒的实现代码
2018/01/20 Javascript
解决axios发送post请求返回400状态码的问题
2018/08/11 Javascript
vue操作下拉选择器获取选择的数据的id方法
2018/08/24 Javascript
微信小程序vant弹窗组件的实现方式
2020/02/21 Javascript
Python的Flask框架中配置多个子域名的方法讲解
2016/06/07 Python
python爬虫学习笔记之pyquery模块基本用法详解
2020/04/09 Python
给ubuntu18安装python3.7的详细教程
2020/06/08 Python
python实现画图工具
2020/08/27 Python
在HTML5中使用MathML数学公式的简单讲解
2016/02/19 HTML / CSS
瑞典香水、须后水和美容产品购物网站:Parfym-Klick.se
2019/12/29 全球购物
澳大利亚最好的电动自行车:Leon Cycle
2020/12/19 全球购物
西班牙品牌鞋子、服装和配饰在线商店:Esdemarca
2021/02/17 全球购物
元宵节晚会主持人串词
2014/03/25 职场文书
银行竞聘演讲稿
2014/05/16 职场文书
校园之声广播稿
2015/08/18 职场文书
三好学生主要事迹怎么写
2015/11/03 职场文书
公司趣味运动会开幕词
2016/03/04 职场文书
详解Nginx 工作原理
2021/03/31 Servers
基于Redis6.2.6版本部署Redis Cluster集群的问题
2022/04/01 Redis