带有$ scope的AngularJS http POST

时间:2015-01-31 16:51:30

标签: ajax angularjs http angularjs-scope

我正在尝试使用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发送范围内的所有属性?任何专业人士/骗子?

1 个答案:

答案 0 :(得分:6)

发送$ scope不是一个好主意,它包含的内容远远超过emailpassword

您应该创建$scope.user之类的属性,然后将模型附加到$scope.user.email。现在您可以使用$scope.user

发送它
$http({
     method: "POST",
     url: "/Account/Login",
     data: $scope.user
})

$scope

  

范围是"对象" "绑定"到应用控制器的DOM元素。所有子元素都可以读取和修改范围数据(除非您修改新范围中的原语或它们被隔离

for more official doc is they way