express4.13怎么处理post请求的
发布于 8小时前 作者 zhang852774731 70 次浏览 来自 问答

一发送post请求浏览器就一直在那打转,就跟服务器端没有相应一样,但后端还好好的。app.js代码如下: var express = require(‘express’); var path = require(‘path’); var favicon = require(‘serve-favicon’); var logger = require(‘morgan’); var cookieParser = require(‘cookie-parser’); var bodyParser = require(‘body-parser’);

var routes = require(‘./routes/index’); var users = require(‘./routes/users’); var photos = require(‘./routes/photos’);

var app = express();

// view engine setup app.set('views’, path.join(__dirname, ‘views’)); app.set('view engine’, ‘ejs’); app.set(‘photos’,__dirname+’/public/photos’); // uncomment after placing your favicon in /public //app.use(favicon(path.join(__dirname, 'public’, ‘favicon.ico’))); app.use(logger(‘dev’)); app.use(bodyParser()); app.use(bodyParser.json()); app.use(bodyParser.urlencoded()); app.use(cookieParser()); app.use(express.static(path.join(__dirname, ‘public’)));

app.use('/’, photos); app.use('/users’, users); // catch 404 and forward to error handler app.use(function(req, res, next) { var err = new Error(‘Not Found’); err.status = 404; next(err); });

// error handlers

// development error handler // will print stacktrace if (app.get(‘env’) === ‘development’) { app.use(function(err, req, res, next) { res.status(err.status || 500); res.render('error’, { message: err.message, error: err }); }); }

// production error handler // no stacktraces leaked to user app.use(function(err, req, res, next) { res.status(err.status || 500); res.render('error’, { message: err.message, error: {} }); });

module.exports = app;

路由文件photos.js的代码如下: var express = require(‘express’); var router = express.Router(); router.post('/upload’,function(dir){ return function(req,res,next){ console.log(req.body.name); res.end(‘hello’); }; }) module.exports = router;


post请求一直请求不到

5 回复

是你的写法问题。

router.post('/upload', function (req, res) {
    // js codes
    res.end();
});

我不知道你为什么会这么写。你哪里看的文档交你这么写的???很奇葩的说。return 一个function??? 参考下我的 task-board 1.jpg

task_controller.js 任务控制器.png

return 后就不能执行到res.end() 响应一直没有结束 所以就出现那种情况

@hinson0 先不考虑我问的问题,return一个function你没有见过吗?可配置中间件你是怎么写的?

@zhang852774731 我表达有点问题 我的意思是 你在router.post里面 去return 一个function的行为

@hinson0恩,这个地方是错了,现在用的是express4,路由方式改了,这块忘了改了

回到顶部