Satyadev Satyadev - 10 months ago 91
Javascript Question

Send response to client in nodejs

Unable to send response data back to client. Its throwing error saying

is not a function:

var express = require('express');
var app = express();
var request = require('request');

var port = process.env.PORT || 5000;
app.set('port', (port));

app.use(express.static(__dirname + '/'));
app.get('/', function(request, response) {

app.listen(app.get('port'), function() {
console.log('Node app is running on port', app.get('port'));
});'/login', verifyLogin);

function verifyLogin(req, res, next) {
var loginParams = {
'username': req.body.username,
'password': req.body.password

url: 'http://localhost:8084/xxx/auth', //URL to hit
qs: {username: req.body.username, password: req.body.password},
method: 'POST',
json: {
"username": req.body.username, "password": req.body.password
}, function(error, response, body){
if(error) {
} else {
response.write(body); // ERROR here response.write is not a function
return response;

I am getting the response data in command prompt console but how do I send response data back to client?

Answer Source

I think you're confusing your response.write with res.write?

You're using the response from the request callback, and not the res from the callback