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