Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

275
Views
nodejs express cannot get the url and data from node server

Writing simple app to fetch data from nodejs server.

but it seems not to get the file in browser as well as in POSTMAN. I have tried multiple times to check the urls but to no avail.

here are my files:

app.js

const express = require('express');
const bodyParser = require('body-parser');
const router = require('./Routes/routes');

const hostname = "localhost";
const port = "8055";

const app = express();

app.use(bodyParser.json());

// CORS
 app.use((req, res, next) => {
    res.setHeader('Access-Control-Allow-Origin', '*');
    res.setHeader('Access-Control-Allow-Methods','GET,POST,PUT,PATCH,DELETE');
    res.setHeader('Access-Control-Allow-Headers', 'Content-Type, Authorization');
    next();
    });

    app.use('/', router);
    app.listen(port,hostname, () => {
    console.log('Server is running on http://${hostname}:${port}');
    })

routes.js

    const express = require('express')

var CityListController = require('../Controllers/City')
var RestaurantCityController = require('../Controllers/Restaurants')
var MenuController = require('../Controllers/Menu')


const router = express.Router();

router.get('/getCityList',CityListController.getCityList);
router.get('/getRestaurantsByCity/:cityname', RestaurantCityController.getRestaurantsByCity);
router.get('/getMenu', MenuController.getMenu);

module.exports = router;

Menu.js

const mealtypes = require('../Models/menu.json');

exports.getMenu = (req, res) => {
const resultname = mealtypes.map(items => items.name)

res.status(200).json({
    message: "widgets data fetched successfully",
    name : resultname
 
   })
 }

menu.json goes like this

[
{
    "_id": "1",
    "name": "Breakfast",
    "content": "Start your day with exclusive breakfast options",
    "image": "assets/breakfast.png"
},
{
    "_id": "2",
    "name": "Lunch",
    "content": "Start your day with exclusive breakfast options",
    "image": "assets/lunch.png"
}
 ]

error is Cannot GET /getMenu

not sure where the error is because it is a simple route.. not sure what is missing. thanks

about 4 years ago · Juan Pablo Isaza
3 answers
Answer question

0

Your code should work with http://localhost:8055/getMenu. I copied your code and works for me link to repo.

{
    "message": "widgets data fetched successfully",
    "name": [
        "Breakfast",
        "Lunch"
    ]
}
about 4 years ago · Juan Pablo Isaza Report

0

The error Cannot GET / arises from trying to visit http://localhost:8055

  • It is generated because there is no route for the root directory http://localhost:8055/ using the path / in express.

  • The is a route for http://localhost:8055/getMenu which works fine.

Test code

const express = require('express');

const getMenu = (req,res) => res.status(200).json({ test_data: "test_data"});
const router = express.Router();
router.get('/getMenu', getMenu);

const hostname = "localhost";
const port = "8055";

const app = express();
app.use('/', router);
app.listen(port,hostname, () => {
    console.log(`Server is running on http://${hostname}:${port}`);
})
about 4 years ago · Juan Pablo Isaza Report

0

It seems there has been a technical error.

It is working fine now. I just restarted nodemon app.js.

and it is working now. Been trying this whole time to get the url fixed.

thanks for your help all

about 4 years ago · Juan Pablo Isaza Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!