我正在使用AngularJS資源向運行express的節點js服務器創建ajax post。但是我無法訪問NodeJS端的後期負載參數。
我有一個服務設置:
angular.module('app.services', ['ngResource'])
.factory('PostService', function($resource) {
return $resource('/postTest');
});
和在控制器我有:
function UserCtrl($scope, PostService) {
//query for the users
$scope.testPost = function() {
var stuff = {firstname: 'some', lastname:'person'};
PostService.save(stuff,function(data) {
console.log('called save on PostService');
});
};
}
我可以看到的HTTP標頭內的有效載荷:
{"firstname":"some","lastname":"person"}
但是,當我到達NodeJS路由來處理它時,我不知道如何訪問參數:
(從節點控制檯輸出):內部測試的東西 req.params不確定
app.post('/postTest', function(req, res) {
console.log('inside test stuff');
console.log('req.params ' + req.param('stuff'));
})
我在創建一個小提琴:http://jsfiddle.net/binarygiant/QNqRj/
誰能解釋如何訪問通過在後傳遞的參數我的NodeJS路線?
在此先感謝
這樣做。我忘了添加app.use(express.bodyParser())。現在效果很好。 – binarygiant 2013-02-27 16:26:58
由於大多數中間件(如bodyParser)不再與Express捆綁在一起,因此已棄用。 – WBT 2018-02-05 04:12:53
沒錯。現在你需要'const bodyParser = require('body-parser')',然後使用'app.use(bodyParser.json())' – 2018-02-05 09:28:51