【发布时间】:2017-07-27 12:06:20
【问题描述】:
我在 Stack Overflow 上看到了类似的问题,并找到了使用的解决方案:
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/';
});
控制台上的日志打印是
请求正文是 {}
当使用下面的 sn-p 时它不起作用
var app = angular.module('puzzleappsolution', [], function ($locationProvider) {
$locationProvider.html5Mode(true);
});//----->It is now working
但在下面使用时它可以工作
var app = angular.module('puzzleappsolution', []);
【问题讨论】:
-
@Sam 感谢正确的缩进
-
你试过包含bodyparser.raw吗?
-
@JefreeSujit 试过了,但没用
标签: javascript angularjs node.js express