expressionPOST req.body分析器是空的
我看到堆栈溢出类似的问题,并find解决scheme使用:
app.use(bodyParser.urlencoded({ extended: true })); app.use(bodyParser.json());
但是,当打印日志req.body
是空白的。
app.js内容:
var express = require('express'); var path = require('path'); var app = express(); var bodyParser = require('body-parser'); // Define the port to run on app.set('port', 8888); app.use(express.static(path.join(__dirname, '/webapp/public'))); app.use(bodyParser.urlencoded({ extended: true })); app.use(bodyParser.json()); app.post('/getsolution', function (req, res) { console.log("request body is",req.body); //----req.body is blank here });
从angular度发布请求代码如下
var parameters = JSON.stringify({ "urlPath": $location.path()}); $http.post('http://localhost:8888/getsolution/', parameters) .then(function (response) { if (response.data == "") { $window.location.href = 'http://localhost:8888/'; } else { $scope.puzzle = response.data; $scope.puzzleSolution = response.data.solution; } }).catch(function onError(response) { $window.location.href = 'http://localhost:8888/'; });
日志打印在控制台上
请求正文是{}
使用下面的代码段时,它不起作用
var app = angular.module('puzzleappsolution', [], function ($locationProvider) { $locationProvider.html5Mode(true); });//----->It is now working
但在下面使用时,它正在工作
var app = angular.module('puzzleappsolution', []);
以angular度向您的请求添加Content-Type
标头:
$http.post('http://localhost:8888/getsolution/', parameters, { headers: { 'Content-Type': 'application/json' } })