Как отобразить на странице A данные, которые публикуются через форму со страницы B с помощью Node-express? - PullRequest
0 голосов
/ 20 мая 2019

Проблема

Привет, люди. Последние полчаса я задыхался, пытаясь решить метод раздира. Проблема в том, что я получаю определенную ОШИБКУ «Невозможно получить конкретный 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".

1 Ответ

1 голос
/ 20 мая 2019

Используйте метод get и получите req.query.username. Попробуйте вот так:

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

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

} );
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...