отправка данных с одного узла js на другой и отображение отправленных данных на другом узле js - PullRequest
0 голосов
/ 06 июля 2018

Я пытаюсь отправить данные с одного сервера js на другой и отобразить отправленную информацию.Пример сервера A и сервера B. Сервер A, отправляющий данные на сервер B, и сервер B будут отображать информацию, отправленную сервером A, и ответ с ответом обратно на сервер A. В основном моя программа похожа на страницу оплаты и страницу банка-сервера.Отправляя информацию о платеже на банк-сервер, и если банк-сервер нажал кнопку «Принять», он вернется на страницу оплаты и продолжит транзакцию.

Это мой код для страницы оплаты:

var postData = JSON.stringify({ user: cardDetails });

    const options = {
        hostname: 'localhost',
        port: 3001,
        path: '/bank',
        method: 'POST',
        headers: {
            'content-type': 'application/json',
            'accept': 'application/json'
        }
    };

    const httpreq = http.request(options, (res) => {
        res.setEncoding('utf8');
        res.on('data', (chuck) => {
            console.log(`BODY: ${chuck}`);
        });
        res.on('end', () => {
            console.log('No more data in response.');
        });
    });

    httpreq.on('error', (e) => {
        console.error(`problem with request: ${e.message}`);
    })

    //write data to request body
    httpreq.write(postData);
    httpreq.end();

Это мой код для банка и сервера: App.js

var express = require("express");
var path = require("path");
var bodyParser = require("body-parser");
var express = require('express');
var app = express();
var serverPort = 3000;
var httpServer = require('http').Server(app);

// ejs template path
app.set("views", path.join(__dirname, "server/views/pages"));
// view engine setup
app.set("view engine", "ejs");

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

//import order tracking
var bank = require('./server/controllers/bank');

app.get("/bank-server", bank.bankSystem);
app.post("/bank", bank.add);

console.log("Connected!")
app.listen(3001);

Это мойкод bank.js:

exports.add = function (req, res){
    console.log(req.body.user.cardName);
    res.sendStatus(200);

};

exports.bankSystem = function (req, res){
    console.log("Bank Page Working!")
        res.render('bankServer', {
            name: "empty"
        })
    }

И, наконец, мой код bankServer.ejs:

<h1>Connection Worked!</h1>
<p>Card Name is <%= name %></p>

Это выходные данные узла оплаты js.Введено имя карты = rayonkira1 Это вывод узла js банковского сервера.получено имя карты

1 Ответ

0 голосов
/ 06 июля 2018

В Bank.js вы просто отправляете статус, а не ответ.

exports.add = function (req, res){
    console.log(req.body.user.cardName);
    res.sendStatus(200);
    // send the response data here, for example
    res.send("Hello from the bank!");
};

ссылка

...