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 相关文章推荐
jquery数据验证插件(自制,简单,练手)实例代码
Oct 24 Javascript
js实现瀑布流的一种简单方法实例分享
Nov 04 Javascript
原生Ajax 和jQuery Ajax的区别示例分析
Dec 17 Javascript
jQuery中serializeArray()与serialize()的区别实例分析
Dec 09 Javascript
js鼠标单击和双击事件冲突问题的快速解决方法
Jul 11 Javascript
HTML5+JS+JQuery+ECharts实现异步加载问题
Dec 16 jQuery
vuejs简单验证码功能完整示例
Jan 08 Javascript
vue+element+Java实现批量删除功能
Apr 08 Javascript
解决layui表格的表头不滚动的问题
Sep 04 Javascript
vue-cli设置publicPath小记
Apr 14 Javascript
js前端设计模式优化50%表单校验代码示例
Jun 21 Javascript
关于对TypeScript泛型参数的默认值理解
Jul 15 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 的 __FILE__ 常量
2007/01/15 PHP
深入理解ob_flush和flush的区别(ob_flush()与flush()使用方法)
2013/02/06 PHP
PHP的foreach中使用引用时需要注意的一个问题和解决方法
2014/05/29 PHP
WordPress中创建用户角色的相关PHP函数使用详解
2015/12/25 PHP
cakephp常见知识点汇总
2017/02/24 PHP
laravel 判断查询数据库返回值的例子
2019/10/11 PHP
Jquery Ajax 学习实例2 向页面发出请求 返回JSon格式数据
2010/03/15 Javascript
javascript innerHTML使用分析
2010/12/03 Javascript
JavaScript中调用函数的4种方式代码实例
2015/07/08 Javascript
JavaScript入门基础
2015/08/12 Javascript
javascript从定义到执行 你不知道的那些事
2016/01/04 Javascript
使用three.js 画渐变的直线
2016/06/05 Javascript
JavaScript实现格式化字符串函数String.format
2016/12/16 Javascript
JS日程管理插件FullCalendar简单实例
2017/02/07 Javascript
详谈jQuery Ajax(load,post,get,ajax)的用法
2017/03/02 Javascript
vue动态生成dom并且自动绑定事件
2017/04/19 Javascript
详解node HTTP请求客户端 - Request
2017/05/05 Javascript
打字效果动画的4种实现方法(超简单)
2017/10/18 Javascript
快速搭建vue2.0+boostrap项目的方法
2018/04/09 Javascript
使用layer弹窗和layui表单实现新增功能
2018/08/09 Javascript
基于Vue实现可以拖拽的树形表格实例详解
2018/10/18 Javascript
vue接口请求加密实例
2020/08/11 Javascript
[34:39]DOTA2上海特级锦标赛主赛事日 - 4 败者组第四轮#1COL VS EG第二局
2016/03/05 DOTA
Python和Perl绘制中国北京跑步地图的方法
2016/03/03 Python
Python实现解析Bit Torrent种子文件内容的方法
2017/08/29 Python
在PyCharm导航区中打开多个Project的关闭方法
2019/01/17 Python
详解Python正则表达式re模块
2019/03/19 Python
python mac下安装虚拟环境的图文教程
2019/04/12 Python
Python3多目标赋值及共享引用注意事项
2019/05/27 Python
在linux下实现 python 监控usb设备信号
2019/07/03 Python
使用Python快乐学数学Github万星神器Manim简介
2019/08/07 Python
python实现代码统计程序
2019/09/19 Python
python 实现人和电脑猜拳的示例代码
2020/03/02 Python
OpenCV灰度化之后图片为绿色的解决
2020/12/01 Python
岗位职责定义及内容
2013/11/08 职场文书
升学宴主持词
2014/04/02 职场文书