时间:2021-05-28
前言
本文主要介绍的是在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]二、问题代码
Angular 自动会在返回的data数据中带上$promise属性。
在进行下面copy时将从data返回的数据copy到当前行用来显示,这样在进行update的操作时带的数据体中就包含了$promise属性,结果就会出现上述错误导致update失败。
三、更改如下:
// ===============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给当前选中的行即可。
总结
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流。
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
U盘,可以说是一个常用的重要设备,尤其是在工作的时候。但是有时候会出现无法识别的情况,那么U盘不能识别怎么办?下面小编带来U盘无法识别的7种解决方法,希望对大家
jsp页面传参乱码的解决方法jsp页面js:encodeURIComponent要使用两次encodeURIComponent(encodeURICompone
最近在使用AngularJs+Php开发中遇到php后台无法接收到来自AngularJs的数据,在网上也有许多解决方法,却都点到即止.多番摸索后记录下解决方法:
本文实例讲述了ThinkPHP入库出现两次反斜线转义及数据库类转义的解决方法。分享给大家供大家参考。具体方法如下:这种情况是在magic_quotes_gpc开
电脑硬盘读不出来的解决方法: 1、系统无法识别硬盘时,可按下述方法进行排查解决:首先开机进入BIOS,确认BIOS中是否能够识别硬盘,若BIOS无法识别到硬盘