node.js - express 4.x版本post请求

 主播新鲜看连 发布于 2022-10-31 11:14

最近才开始看node,看教材(一个上传图片的表单)的时候遇到了一个问题。
表单模板(upload.ejs)

<%= title %>

配置路由

教材(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页面吧

2 个回答
  • post的链接没有[.]吧?

    router
    .get('/upload', (req, res, next) => {
        res.render('photos/upload',{
            title: 'photo uploads'
        });
    })
    .post('/upload', photos.submit(router.get('photo')));
    //.post('./upload', photos.submit(router.get('photo')));
    

    exports.form还是exports.from?

    exports.from = function(req, res) {
        res.render('photos/upload', {
            title: 'photo uploads'
        });
    }
    

    soonfy

    2022-10-31 22:42 回答
  • 你在photos里面定义了submit这个函数了吗?

    2022-10-31 22:42 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有