Using VScode to write NodeJS
But to check, localhost isn't responding properly, it says "the page didn't send any data. I tried looking everywhere and changed all the possible settings I can.
restored chrome settings cleared cache, cleared history, changed port numbers, changed LAN settings.
''''
const Joi = require('joi');
const express = require('express');
const app = express();
app.use(express.json); //to take inputs ffrom the browser
const courses = [
{id: 1, name: "course 1"},
{id: 2, name: "course 2"},
{id: 3, name: "course 3"},
];
app.get('/', (req, res) =>{
res.send("Hello world!!");
res.end();
});
app.get('/api/courses/', (req, res) =>{
res.send(courses);
res.end();
});
const port = process.env.port || 8080;
app.listen(port, ()=> console.log(`Listining on port ${port}..`));
''''
Want to see all the courses printed on the webpage.
Your courses
is an object. You need to send it as string over wire. Send it as json and the browser will be able to parse it.
app.get('/api/courses/', (req, res) => {
// change here, your object is stringified to json by express
res.json(courses);
});
To take input from browser, you'd have to use packages like body-parser
and not app.use(express.json)
var express = require('express')
var bodyParser = require('body-parser')
var app = express()
// parse application/x-www-form-urlencoded
app.use(bodyParser.urlencoded({ extended: false }))
// parse application/json
app.use(bodyParser.json())