一尘不染

AngularJS $ http.post删除属性

angularjs

当我$http.post在AngularJS中使用类似对象的对象时:

{  name: '232', id: '3434', $type: "API.Models.Fields.ValuesList, API" }

签名:

$http.post('api/records', model);

$type不论值如何,都会在chrome流量监听器上每次删除该属性。

有一些秘密的$除垢剂;)吗?

更新:角度 > = 1.3现在不会删除$ ATTRS。


阅读 255

收藏
2020-07-04

共1个答案

一尘不染

是的,通过$http服务发送数据时,Angular会删除美元前缀的属性。

$
http服务使用angular.toJson方法将对象序列化为JSON字符串。该方法使用前$符号剥离属性,因为angular在内部使用此表示法(例如,实例方法$save可用于所有ngResource对象)。

快速的解决方法是在将数据传递给之前,手动(使用JSON.stringify)对数据进行字符串化$http

$http.post('/api/path', JSON.stringify(model));
2020-07-04