Как я могу опубликовать из формы в URL и получить обратно JSON с помощью Express? - PullRequest
0 голосов
/ 12 сентября 2018

Я пытаюсь сделать запрос с использованием формы и хочу, чтобы ответом был JSON с данными, которые пользователь ввел в форму.

Это мой файл index.pug:

doctype html
html(lang='en')
  head
    title HPI
  body
    h1 Formulario HPI
    #container
      form(action="/formulario" method="post")
       label(for='nodoHpi') Nodo Hpi
       input#nodoHpi(name='nodoHpi', type='text')
       br
       br
       label(for='nombreIndice') Nombre Indice
       input#nombreIndice(name='nombreIndice', type='text')
       br
       br
       label(for='valorIndice') Valor Indice
       input#valorIndice(name='valorIndice', type='text')
       br
       br
       button(type="submit") SEND

Я действительно не знаю, как это сделать ...

Что мне нужно, так это то, что когда пользователь вводит информацию в 3 введенных ввода, данные отправляются в JSON, который находится по другому URL-адресу

"172. .20 :. ** 12 * 1013 / Поиск" **

Тогда мне нужно, чтобы JSON отрисовывался и отображался в моем HTML.

Это пример JSON:

{
    "token": "1",
    "query": [{
        "index": "ALTC.MC_ROBERTS",
        "terms": [{
            "name": "INDEXTEXT01T",
            "value": "3044071*",
            "operator": "like"
        }],
        "results": {
            "count": 5000,
            "sort": [{
                "name": "ISSUE_DATE",
                "order": "descending"
            }],
            "fields": []
        }
    }]
}

В JSON есть 3 значения, которые должны быть переменными, и это 3 входа, которые я хочу, чтобы пользователь ввел в файл index.pug.

Это:

ALTC.MC_ROBERTS

INDEXTEXT01T

3044071

Наконец, это мой файл app.js:

const express = require('express');
const request = require('request');
const bodyParser = require('body-parser');
const app = express();
const hostname = '172.19.20.10:12530/search';
const port = '3000';

app.use(bodyParser.urlencoded({extended: false}));
app.use(bodyParser.json());
app.set('view engine', 'pug');

var headersOpt = {  
    "content-type": "application/json",
};

request.post(
        {
        method:'post',
        url:'http://172.19.20.10:12530/search', 
        form: {nombreIndice:'hello',valorIndice:25, nodoHpi: 'nodo'}, 
        headers: headersOpt,
        json: true,
    }, function (error, response, body) {  
        //Print the Response
        console.log(body);  
}); 

app.get('/', (req, res) => {
   res.render('index');
});

app.post('/formulario', (req, res) => {
    res.render('formulario', {prueba: req.body.nodoHpi});
});

app.listen(port, () => {
    console.log("The server is listening in localhost: 3000");
});  
* +1039 * Пример:

Если пользователь вводит 2, John и Xmas в форму index.pug, мне нужна эта форма, чтобы выполнить запрос Post на этот URL "172..20.: 12 * / search" **, а затем получить обратно JSON в другом файле .pug.

Любые идеи помогут мне понять, что я застрял и плохо знаком с Express.

С наилучшими пожеланиями всем!

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