javascript - 如何使用 Node-express 将页面 B 通过表单发布的数据渲染到页面 A?

标签 javascript node.js express ejs templating-engine

问题

大家好。过去半个小时我一直绞尽脑汁试图解决撕裂方法。问题是,当我通过页面 A 的表单发布数据并希望在页面 B 中呈现这些数据时,我不断收到特定错误“无法获取特定 URL”。虽然我使用 POST,但我不断获取 URL 中的数据。

Image 1/3 Image 2/3 Image 3/3

 // Import core packages
    const express = require( "express" );
    const path = require( "path" );
    const bodyParser = require( "body-parser" );

    // Declare global constants
    const app = express();
    const users = [];

    // Register a template engine
    app.set( "view engine" , "ejs" );
    app.set( "views" , "templates" );

    // Middleware

    app.use( bodyParser.urlencoded( {
        extended : false
    } ) );

    app.get( "/" , ( req , res , next ) => {

        res.render( "index" , { pageTitle : "Home Page" } );

    } );

    app.get( "/users" , ( req , res , next ) => {

        res.render( "users" , { pageTitle : "Users Page" , users } );

    } );

    app.post( "/add-user" , ( req , res , next )=> {

        users.push( { username : req.body.username } );
        res.redirect( "/users" );

    } );

    // Server listening
    app.listen( 3000 );

users.js users.ejs index.js index.js

已更新

问题出在表单结构中。

应该是method="POST"而不是type="POST"

最佳答案

使用方法 get 并获取 req.query.username。 尝试这样:

app.get( "/add-user" , ( req , res , next )=> {

    users.push( { username : req.query.username } );
    res.redirect( "/users" );

} );

关于javascript - 如何使用 Node-express 将页面 B 通过表单发布的数据渲染到页面 A?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56221635/

相关文章:

node.js - 在 Node.js 中计算 sha1 返回的结果与在 PHP 中不同

node.js - 如何在 Node.js 中创建绝对链接?

node.js - 带有 http.createServer 的服务器和在 Node js 中使用 express 的服务器之间的区别

node.js - 在expressjs中捕获复数路线

javascript - 在 gridview 中(标签在点击时变成文本框)一次一个

javascript - 使用空格将变量传递到 PHP 页面

javascript - 如何访问 NuxtJs 存储中的 localStorage?

javascript - 选择2 "selected": true not working

linux - 在 Openshift 上将 nodejs gear 升级到 v0.12 后出现 bcrypt 错误

node.js - 使用 mongoose 更新 MongoDB 文档时出现问题