AngularJS $ http.post删除属性

时间:2013-12-03 00:01:21

标签: angularjs

当我在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。

1 个答案:

答案 0 :(得分:12)

是的,当通过$http服务发送数据时,Angular会剥离以美元为前缀的属性。

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

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

$http.post('/api/path', JSON.stringify(model));