我创建了一个 POST 请求,我在其中向服务器发送了一个参数,在服务器端我收到了错误,就像找不到数据一样。
客户端js
var postData= JSON.stringify({name:"Alex",age:"34"});
var deferred = $q.defer();
$http.post(appSettings.baseUrl + '/users', postData)
.success(function (response) {
deferred.resolve(response)
}).error(function (error) {
deferred.reject('Failed to connect');
});
return deferred.promise;
}
服务器( Node )
app.post('/api/users', function (req, res) {
var user = req.body.postData;
// user is not getting in server
});
});
我无法获取服务器中的 postData。
最佳答案
您正在尝试访问请求正文中发送的数据的 postDate
属性,并且您没有发送任何具有 postData
属性的对象。
如果你检查 Node 后端日志console.log(req.body)
,我真的确定你得到了
{name:"Alex",age:"34"}
并且您应该在此处访问任何属性,例如 req.body.name
或 req.body.age
如果您想使用任何属性名称访问 body 上的完整对象,您最好将其与属性名称一起发送
$http.post(appSettings.baseUrl + '/users', {"postData" : postData})
关于javascript - 如何使用 $http POST 传递对象参数并在 Nodejs 服务中访问,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50358651/