How to handle a get request with node.js (express)
You can take the id
from params
and after this to return a response based on that id.
var express = require('express');var app = express();app.get("/page/:id",function(request, response){ var id = request.params.id; // do something with id // send a response to user based on id var obj = { id : id, Content : "content " +id }; response.writeHead(200, {"Content-Type": "application/json"}); response.write(JSON.stringify(obj));});
Notes:
You use
/page/:id
to make urls likewww.mywebsite.com/page/22
orwww.mywebsite.com/page?id=22
and you can have acces to id on server withrequest.params.id
(output: 22).With
response
you canwrite
a response to the server. In this example i returned a json object.In
writeHead
200 come from status which means OK , andcontent-type
means that I return a json objectYou can return what you want, a page or something else, this is just an example (PoC).
If you want to pass multiple variables in the request, you can pass it in the following way:
var emailVar = "someEmail@gmail.com";var nameVar = "someName";var url = `/home?email=${emailVar}&name=${nameVar}`;//Now make the request.
and in the backend logic, you can retrieve these values as:
app.get('/home', function(request, response){ console.log(request.query.email+" "+request.query.name); var email = request.query.email; var name = request.query.name; response.setHeader('Content-Type', 'application/json'); if(request.query.email) { response.send(JSON.stringify({ message: 'Got the email' })); } else { response.send(JSON.stringify({ message: 'No email sent' })); }});
This approach is useful for performing query operations in the backend.