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