当我在AngularJS中使用以下对象执行$http.post
时:
{ name: '232', id: '3434', $type: "API.Models.Fields.ValuesList, API" }
签名:
$http.post('api/records', model);
每次在Chrome流量监听器上删除$type
属性,无论该值如何。
是否有一些秘密的$ remover;)?
更新:ANGULAR> = 1.3现在没有删除$ ATTRS。
答案 0 :(得分:12)
是的,当通过$http
服务发送数据时,Angular会剥离以美元为前缀的属性。
$ http service使用angular.toJson
方法将对象序列化为JSON字符串。这种方法剥离
具有前导$字符的属性,因为angular在内部使用此表示法(例如,实例方法$save
可用于所有ngResource
个对象)。
快速解决方法是手动对数据进行字符串化(使用JSON.stringify),然后再将其传递给$http
:
$http.post('/api/path', JSON.stringify(model));