我正在尝试使用AngularJS执行http帖子,但angular不会将我的$scope
变量转换为JSON。
这是我的代码:
$http({
method: "POST",
url: "/Account/Login",
data: $scope
})
这会导致请求POST消息
"$SCOPE"
但如果我更改它以输出我的任何范围属性,它就会发送具有正确属性的消息,例如:
$http({
method: "POST",
url: "/Account/Login",
data: { email: $scope.email, password: $scope.password }
})
这会导致请求POST消息
{"email":"asdasd@Asdasd.asd","password":"asd"}
我是否总是要像这样包裹我的请求?或者有没有办法告诉AngularJS发送范围内的所有属性?任何专业人士/骗子?
答案 0 :(得分:6)
发送$ scope不是一个好主意,它包含的内容远远超过email
和password
您应该创建$scope.user
之类的属性,然后将模型附加到$scope.user.email
。现在您可以使用$scope.user
$http({
method: "POST",
url: "/Account/Login",
data: $scope.user
})
约$scope
范围是"对象" "绑定"到应用控制器的DOM元素。所有子元素都可以读取和修改范围数据(除非您修改新范围中的原语或它们被隔离