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 相关文章推荐
Chrome Form多次提交表单问题的解决方法
May 09 Javascript
jQuery中closest()函数用法实例
Jan 07 Javascript
JavaScript匿名函数用法分析
Feb 13 Javascript
jquery插件corner实现圆角边框的方法
Mar 09 Javascript
深入浅析JavaScript中prototype和proto的关系
Nov 15 Javascript
Eclipse编辑jsp、js文件时卡死现象的解决办法汇总
Feb 02 Javascript
js阻止默认浏览器行为与冒泡行为的实现代码
May 15 Javascript
JavaScript鼠标特效大全
Sep 13 Javascript
详解基于vue-router的动态权限控制实现方案
Sep 28 Javascript
javascript浏览器用户代理检测脚本实现方法
Oct 27 Javascript
AngularJS使用ng-repeat遍历二维数组元素的方法详解
Nov 11 Javascript
layui实现鼠标移动到单元格上显示数据的方法
Sep 11 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
日本收入最高的漫画家:海贼王作者版税年收入高达8.45亿元
2020/03/04 日漫
PHP5 安装方法
2007/01/15 PHP
thinkphp3.x中cookie方法的用法分析
2016/05/19 PHP
php 解析xml 的四种方法详细介绍
2016/10/26 PHP
php微信开发之音乐回复功能
2018/06/14 PHP
php实现多站点共用session实现单点登录的方法详解
2019/09/18 PHP
PHP实现简易用户登录系统
2020/07/10 PHP
javascript 自动转到命名锚记
2009/01/10 Javascript
锋利的jQuery 要点归纳(一) jQuery选择器
2010/03/21 Javascript
浅析js中2个等号与3个等号的区别
2013/08/06 Javascript
replace()方法查找字符使用示例
2013/10/28 Javascript
javascript页面上使用动态时间具体实现
2014/03/18 Javascript
基于jQuery实现鼠标点击导航菜单水波动画效果附源码下载
2016/01/06 Javascript
Bootstrap每天必学之响应式导航、轮播图
2016/04/25 Javascript
设置jQueryUI DatePicker默认语言为中文
2016/06/04 Javascript
微信小程序入门教程
2016/11/18 Javascript
jQuery插件版本冲突的处理方法分析
2017/01/16 Javascript
微信小程序 天气预报开发实例代码源码
2017/01/20 Javascript
利用babel将es6语法转es5的简单示例
2017/12/01 Javascript
vue mint-ui tabbar变组件使用
2018/05/04 Javascript
vue组件name的作用小结
2018/05/23 Javascript
jquery实现点击弹出对话框
2020/02/08 jQuery
JavaScript Date对象功能与用法学习记录
2020/04/28 Javascript
Element InputNumber 计数器的实现示例
2020/08/03 Javascript
Python win32com 操作Exce的l简单方法(必看)
2017/05/25 Python
对numpy中向量式三目运算符详解
2018/10/31 Python
初探利用Python进行图文识别(OCR)
2019/02/26 Python
python实现批量文件重命名
2019/10/31 Python
Django Admin后台添加数据库视图过程解析
2020/04/01 Python
Python调用jar包方法实现过程解析
2020/08/11 Python
田径运动会开幕式及主持词
2014/03/28 职场文书
《大自然的语言》教学反思
2014/04/08 职场文书
单位一把手群众路线四风问题整改措施
2014/09/25 职场文书
幼儿教师三分钟演讲稿
2019/06/21 职场文书
Nginx域名转发使用场景代码实例
2021/03/31 Servers
java实现对Hadoop的操作
2021/07/01 Java/Android