node.js - express 4.x版本post请求
本文介绍了node.js - express 4.x版本post请求的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
问 题
最近才开始看node,看教材(一个上传图片的表单)的时候遇到了一个问题。
表单模板(upload.ejs)
<h1><%= title %></h1>
<form action="post" enctype="multipart/form-data">
<input type="text" name="photo[name]" placeholder="your name">
<input type="file" name="photo[image]"/>
<input type="submit" value="upload"/>
</form>
配置路由
教材(photos.js):
exports.form = function(req, res) {
res.render('photos/upload', {
title: 'photo uploads'
});
}
教材(app.js):
app.get('/upload', photos.form);
app.post('/upload', photos.submit(app.get('photo')));
自己(photos.js)
const express = require('express');
const router = express.Router();
router
.get('/upload', (req, res, next) => {
res.render('photos/upload',{
title: 'photo uploads'
});
})
//.post('./upload', photos.submit(router.get('photo')));
module.exports = router;
自己(app.js)
var photos = require('./routes/photos');
app.use('/', photos);
//处理照片提交代码
...
在注释掉post的时候,localhost:~/upload是没有问题的,可以看到上传表单的页面,但是去掉post前面的注释的时候,报错提示submit不是一个函数,不知道这个地方怎么写.
app.post('/upload', photos.submit(app.get('photo')));
意思是点击submit后,路由定义到photo页面吧
解决方案
你在photos里面定义了submit这个函数了吗?
这篇关于node.js - express 4.x版本post请求的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文