'app.post('\pageNameOrCanBeAnyRandomName')?

I have a page called createEmployee.js which includes 2 functions (fetchData and createNewEmployee) ... see below:

  const fetchData = async() =>  { 

     console.log(employee);
     const newData = await fetch ('/createEmployee', {
         method: 'POST',
         headers : { 
             'Content-Type' : 'application/json',
             'Accept' : 'application/json'
           },  
         body: JSON.stringify({
             name: employee.FirstName
         })
     }).then(res => res.json())
    // console.log(newData);
     setReturnedData(newData[0])
 } 

 const createNewEmployee = async() =>  { 
     console.log('1');
     const newData = await fetch ('/createEmployee', {
         method: 'POST',
         headers : { 
             'Content-Type' : 'application/json',
             'Accept' : 'application/json'
           },  
         body: JSON.stringify({
            ...employee
         })
     }).then(res => res.json()) 
     setReturnedData(newData[0])
 }  

Fetch Data is just to get data from db and display it. It is working fine. But, it's not inserting new employee for createNewEmployee ... I feel something wrong for const newData = await fetch ('/createEmployee' ... which also in fetch data.

My question is ... does it has to be page name or can be anything? I tried to change /createEmployee to other like /hello but it says no page found.

My server.js as below (partially):

    // insert new data then return as record
    app.post('/createEmployee', async(req , res) => {
       console.log('2');  
       await dbOperation.createEmployee(req.body);
       console.log(req.body.FirstName);
       console.log('3');
       const result = await dbOperation.getEmployees(req.body.FirstName);
       res.send(result.recordset);  
});

    // get data and return as record
app.post('/createEmployee', async(req , res) => {
       // console.log('called'); 
       console.log(req.body.name); 
       const result = await dbOperation.getEmployees(req.body.name);
       res.send(result.recordset);  
});

my operation.js as below for insert data:

    const createEmployee = async (Employee) => {
 
    try { 
        console.log('4');
        console.log('in DB createEmployee');
        var q = 'INSERT INTO dbo.EMPLOYEES (Employee_ID,LastName,FirstName,Birthday,Address,City,Group_ID,Position) VALUES (0, \'' + Employee.FirstName + '\' , \'' + Employee.LastName + '\', \'' + Employee.Birthday + '\', \'' + Employee.Address + '\', \'' + Employee.City + '\',  ' + Employee.Group_ID + ', \'' + Employee.Position + '\')'; 
        console.log('Finally + ' + q);
        console.log('5');
        let pool = await sql.connect(config);
        let employee = await pool.request().query( q )  
        return employee;   
    } 
      catch (error) {
        console.log(error)
    }
}

How can I get this working ? It's not inserting data :(



Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source