Невозможно опубликовать данные в NodeJS с помощью Ax ios в форме React - PullRequest
0 голосов
/ 09 января 2020

Я хочу получить значение тикета из формы реакции на nodeJS, а затем, основываясь на полученном тикете, мне нужно выполнить какое-то задание и вернуть результаты обратно во внешний интерфейс. Мой код, кажется, в порядке, но он не работает в среде.

форма. js

import React, { Component } from 'react'
import axios from 'axios'
class Formdata extends Component{
    constructor() {
        super();
        this.state = {
          ticket:""
        };
      }
    onChanges(val){
        console.log(val);
        this.setState({
            ticket:val
        })
        console.log(this.state.ticket)
    }
    handleSubmit() {

        console.log(this.state.ticket)
        const var2= {
            tic:this.state.ticket
        };
        axios.post("/user",{
            var1: var2
        })
        .then((response)=> {
            console.log("Data submitted successfully");
         }).catch((error)=> {
            console.log("got errr while posting data", error);
         });
    }

    render(){
        return(
            <div>
                <form onSubmit={this.handleSubmit} method="POST">
                    <br/>
                    <input type="text" id="ticket" name="ticket" onChange={e=>this.onChanges(e.target.value)} placeholder="Ticket Number"/>
                    <button type="submit">SUBMIT</button>
                </form>
            </div>
        )
    }
}

export default Formdata;

сервер. js

const express = require('express');

const app = express();

app.post('/user',function(request,response){
  const query1=request.body.var1;
  console.log(query1)
  response.query1;
  });


const port = 5000;

app.listen(port, () => `Server running on port ${port}`);

Ответы [ 2 ]

0 голосов
/ 09 января 2020

Вы попробуйте код ниже:

const express = require('express');

const app = express();

app.use(express.json())
app.use(express.urlencoded({ extended: true }))

app.post('/user',function(request,response){
  const body =request.body;
  console.log(body);
  res.send(body);
  });

app.listen(5000, () => `Server running on port 5000`);

Вы можете скопировать код в свой код и позвонить в API от вашего почтальона:

  1. API URL: localhost:5000/users
  2. Измените метод на: POST метод
  3. Не забудьте добавить json объект в body
  4. Отправить запрос к бэкэнду

Надеюсь, это работает.

0 голосов
/ 09 января 2020
    axios.post("http://localhost:5000/user",{
        var1: var2
    })



const express = require('express');

const app = express();
app.use(express.json());
const bodyParser  = require('body-parser');
app.use(bodyParser.urlencoded({extended: true}));

app.post('/user',function(request,response){
  const query1=request.body.var1;
  console.log(query1)
  response.query1;
  });


const port = 5000;

app.listen(port, () => `Server running on port ${port}`);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...