一发送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请求一直请求不到
是你的写法问题。
router.post('/upload', function (req, res) {
// js codes
res.end();
});
我不知道你为什么会这么写。你哪里看的文档交你这么写的???很奇葩的说。return 一个function??? 参考下我的 task-board
task_controller.js
return 后就不能执行到res.end() 响应一直没有结束 所以就出现那种情况
@hinson0 先不考虑我问的问题,return一个function你没有见过吗?可配置中间件你是怎么写的?
@zhang852774731 我表达有点问题 我的意思是 你在router.post里面 去return 一个function的行为
@hinson0恩,这个地方是错了,现在用的是express4,路由方式改了,这块忘了改了