angularjs – Angular $http POST更改日期格式
发布时间:2020-12-17 17:15:16 所属栏目:安全 来源:网络整理
导读:以下情况: 我有一个带有输入[日期]字段的表单.我通过以下代码转换值: $scope.entity.date = $filter('date')($scope.entity.date,'yyyy-MM-dd'); 这正确地将日期格式化为例如2015年10月27日 当我使用$http.post提交实体时,angular似乎将此识别为日期并将其
以下情况:
我有一个带有输入[日期]字段的表单.我通过以下代码转换值: $scope.entity.date = $filter('date')($scope.entity.date,'yyyy-MM-dd'); 这正确地将日期格式化为例如2015年10月27日 当我使用$http.post提交实体时,angular似乎将此识别为日期并将其重新格式化为2015-09-30T23:00:00.000Z.我在德国,我们有GMT 1.所以角度将日期转换为GMT. 编辑: HTML的代码: <form ng-submit="submit()"> <input type="date" ng-model="entity.date" /> </form> JS-代码: $scope.submit = function() { $scope.entity.date = $filter('date')($scope.entity.date,'yyyy-MM-dd'); // when debugging this is the point where $scope.entity.date is 2015-10-27 // so it is the format and date I expect $http({ data: $scope.entity,method: POST,url: '/resource' }) .success(function(data) { // do some stuff }); // when looking into network traffic the request was sent with // 2015-09-30T23:00:00.000Z as value for $scope.entity.date }; 解决方法
您正在更改帖子上的模型值.由于您的输入类型是日期,因此它会被更改回来.这不是一个好主意,因为实际的表单元素只会在您发布后更改值.
任何时候你需要在保存它之前操纵你的对象是一个很好的想法来创建一个对象的副本.这样它的行为就像你期望的那样. var entity = angular.copy($scope.entity); 然后发布本地副本,你应该是好的. $http({ data: entity,url: '/resource' }) (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- scala – 为超过22个字段的案例类播放json合并格式
- angularjs – 我可以使用Angular-Filter对多个字段进行分组
- Bash getopts:读取可选标志的$OPTARG?
- angular – elementRef.nativeElement.remove()对浏览器有任
- 在vim的bash完成中忽略文件扩展名
- angularjs – 如何在指令的范围内访问ng重复项?
- 基于Bootstrap漂亮简洁的CSS3价格表(附源码下载)
- scala – 如何使用“implicit”作为apply()参数?
- Bootstrap框架----DataTables列表移动端适配定义隐藏列
- 解析scala中的递归结构