我正试图通过HTTP.POST方法发布用户点击发送的模态形式的数据,但是我无法弄清楚如何在我发布的post函数中实际访问数据对象或者如果我甚至正确发送它。非常感谢任何帮助
index.html中的http.post:
var ModalInstanceCtrl = function($scope, $uibModalInstance, $http, data) {
$scope.data = data;
$scope.ok = function() {
$http.post("http://127.0.0.1:8081/process_post")
.then(function (response) {$scope.data = response.data;});
$uibModalInstance.close();
};
$scope.cancel = function() {
$uibModalInstance.dismiss('cancel');
};
};
在app.js中处理帖子功能:
app.post('/process_post', urlencodedParser, function (req, res) {
// Prepare output in JSON format
//response = req;
//console.log(req.body.data);
//res.end(JSON.stringify(response));
})
答案 0 :(得分:1)
你错过了$ http.Post中的第二个参数。您的数据对象应该作为第二个参数传递给http.Post函数。它可以是这样的
$http.Post('http://127.0.0.1:8081/process_post', { data: $scope.data })
如果是nodeJS + expressJS,您可以使用req.body.data访问数据。它应该显示数据。如果console.log(req.body.data)没有显示任何内容,请尝试删除中间件urlencodedParser。
最终更新:
添加这两行以从nodeJS + expressJS获取数据。
app.use(bodyParser.json());
app.use(bodyParser.urlencoded({ extended: true }));