首先,nodejs代码如下
var express = require('express');
var http = require('http');
var qs = require('querystring');
var router = express.Router();
/* GET home page. */
exports.index = function(req, res){
var opt = {
method: "POST",
host: "localhost",
port: 8080,
path: "/mongoresume/resumeList.json"
};
var req = http.request(opt, function (serverFeedback) {
if (serverFeedback.statusCode == 200) {
var body = "";
serverFeedback.on('data', function (data) { body += data; console.log(data);})
.on('end', function () { res.render("index",body);/*res.send(200, body); */});
}
else {
res.send(500, "error");
}
});
req.on('error', function (e) {
console.log('problem with request: ' + e.message);
});
// req.write(data + "\n");
req.end();
};
当我使用像res.send(200, body);
这样的普通代码时,它可以接收数据,但我想将数据发送到index.ejs,所以当我修改像res.render("index",body);
这样的代码时,它会抛出错误
错误意味着什么?
答案 0 :(得分:0)
res.render函数的第二个参数应该是一个对象。您正在提供一个字符串(正文变量)。 Express尝试将属性添加到字符串变量,当然这会失败并导致您的错误消息。查看documentation about res.render()。
答案 1 :(得分:0)
参数应该是一个对象,而不是这样的主体。试试这个
res.render('index',result:JSON.parse(body)['object name']);