簡體   English   中英

nodejs發送http,然后如何將回調數據發送到index.ejs

[英]nodejs send http, then how to send callback data to index.ejs

首先,像這樣的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);這樣的普通代碼時res.send(200, body); ,它可以接收數據,但是我想將數據發送到index.ejs,所以當我修改代碼時,如res.render("index",body); ,它引發了錯誤

在此處輸入圖片說明

那么錯誤是什么意思呢?

res.render函數的第二個參數應該是一個對象。 您正在提供一個字符串(body變量)。 Express嘗試將屬性添加到字符串變量,這當然會失敗並導致您出現錯誤消息。 查找有關res.render()文檔

參數應該是一個對象,而不是這樣的主體。 這樣嘗試

res.render('index',result:JSON.parse(body)['object name']);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM