我试图像这样制作一个$ http.post:
$http({
method: 'POST',
url: '//192.168.2.1:3000/auth/signup',
data: $scope.credentials,
headers: {
'Content-Type': 'application/x-www-form-urlencoded'
}
})
当:
$scope.credentials = {email: 'some_email', password: 'some_password'}
在Node中,我记录了: 的console.log(req.body)
我得到了:
{ '{"email":"some_email","password":"some_password"}': '' }
我不明白为什么会这样。
答案 0 :(得分:1)
您假设angularjs会自动为您自行序列化表单数据。
在处理非json的内容类型时,您需要自己序列化表单数据。
例如,当Content-Type等于'application/x-www-form-urlencoded'
时,如果对象为{foo:"bar",bar:"baz"}
,则需要将其序列化为foo=bar&bar=baz