[英]Send response to client in nodejs
無法將響應數據發送回客戶端。 拋出錯誤說response.write()
不是函數:
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) {
response.render('/');
});
app.listen(app.get('port'), function() {
console.log('Node app is running on port', app.get('port'));
});
app.post('/login', verifyLogin);
function verifyLogin(req, res, next) {
var loginParams = {
'username': req.body.username,
'password': req.body.password
};
request({
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) {
console.log(error);
} else {
response.write(body); // ERROR here response.write is not a function
return response;
}
});
我在命令提示符控制台中獲取響應數據,但如何將響應數據發送回客戶端?
res.send()
用於向客戶端發送響應。
function verifyLogin(req, res, next) {
var loginParams = {
'username': req.body.username,
'password': req.body.password
};
request({
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) {
console.log(error);
} else {
//response.write(body); // ERROR here response.write is not a function
res.send(body);// AND IT SHOULD BE USUALLY TRUE OR WITH THE OBJECT
//SO IT CAN ALSO BE
res.send(true);
// return response;
}
});
例如,它寫成
var express = require('express');
var app = express();
app.get('/', function(req, res){
res.send('hello world');
});
app.listen(3000);
我想你混淆你response.write
與res.write
?
您正在使用request
回調中的response
,而不是來自app.post
回調的res
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.