kit*_*ttu 2 javascript node.js express
宣言:
var express = require('express');
var router = express.Router();
Run Code Online (Sandbox Code Playgroud)
Route.js:在这里发布电话
router.route('/signup')
.post(function (req, res) {
console.log('post signup called', req.body);
res.json({message: 'signup'});
});
module.exports = router;
Run Code Online (Sandbox Code Playgroud)
将req.body
始终是不确定的.我能够在ajax调用中打印它们的控制台.我不明白req.body
是不确定的.我错过了什么?
Ajax发布的数据如下:
$.ajax({
url: '/signup',
type: 'POST',
data: params,
success: function (res) {
console.log('res', res);
},
error: function (err) {
console.log('err', err);
}
});
Run Code Online (Sandbox Code Playgroud)
server js:已经body-parser
在这里使用了
var express = require("express");
var path = require('path');
var app = express();
var mongoose = require('mongoose');
var request = require("request");
var router = require('./app/routes/route.js');
var functions = require('./app/functions/functions.js');
var http = require('http');
var https = require('https');
var bodyParser = require('body-parser');
var nodemailer = require('nodemailer');
var model = require('./app/model/model.js');
app.use('/', express.static(__dirname + '/public_html'));
app.use('/', router);
app.use(bodyParser.json({limit: '5mb'}));
app.use(bodyParser.urlencoded({ limit: '5mb', extended: false }));
Run Code Online (Sandbox Code Playgroud)
您的请求将不会被传递,body-parser
因为您在路由器之后声明它(Express通过中间件和路由按声明顺序传递请求;如果请求可以处理router
,它将body-parser
不再通过中间件传递):
app.use('/', express.static(__dirname + '/public_html'));
app.use('/', router);
app.use(bodyParser.json({limit: '5mb'}));
app.use(bodyParser.urlencoded({ limit: '5mb', extended: false }));
Run Code Online (Sandbox Code Playgroud)
如果你移到body-parser
前面,它应该更好:
app.use('/', express.static(__dirname + '/public_html'));
app.use(bodyParser.json({limit: '5mb'}));
app.use(bodyParser.urlencoded({ limit: '5mb', extended: false }));
app.use('/', router);
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
824 次 |
最近记录: |