我认为这是一个javascript问题,但我不确定。
假设我有一个这样的对象
var foo = {
foo1: 'name',
foo2: 'name2'
}
当我在控制台中使用angular调用post时post主体显示为
{foo1: 'name', foo2: 'name2'}
很好,都很好。
在我的后端,我们说请求正文需要是:
{type: {foo1: 'name', foo2: 'name2'}}
在angular中,type key在$scope中。输入$scope.foo
中的foo对象我试图通过输入
来实现这一点$scope.foo = {$scope.type:$scope.foo};
这不起作用,它只是说'。'在$scope中。类型不允许
所以我试着设置var type = $scope。输入然后放
$scope.foo = {type: $scope.foo};
工作,除了响应帖子是单词"类型",而不是实际值本身。这是怎么回事?为什么不能加上$scope键呢?输入我的foo对象?
不能在名称类型的object大括号中使用动态值。相反,你应该这样做:
var obj = {};
obj[$scope.type] = $scope.foo;
$scope.foo = obj;