簡體   English   中英

如何將Node函數的結果寫入html / console日志?

[英]How do I write the results of a Node function to html/console log?

我是node的新手,我試圖將結果打印到控制台,並最終以HTML顯示它們。 我嘗試將函數作為var調用,以后將在HTML中使用,但這沒有用。 一些類似的示例代碼:

var app = require('express')();
var x = require('x-ray')();

app.get('/', function(req, res) {
  res.send(x('http://google.com', 'title').write());
})

謝謝!

我對“ x射線”庫知之甚少,但是我認為問題在於它,因為它必須異步發出請求才能返回響應數據。 該文檔說,如果不將路徑設置為write函數的參數,它將返回可讀流,因此請嘗試以下操作:

app.get('/', function(req, res) {
    var stream = x('http://google.com', 'title').write(),
        responseString = '';
    stream.on('data', function(chunk) {
        responseString += chunk;
    });
    stream.on('end', function() {
        res.send(responseString);
    });
});

您還需要啟動服務器偵聽特定端口(在下面的示例中為3000):

const PORT = 3000;
app.listen(PORT, function() {
    console.log("Server is listening on port " + PORT + ".");
}); // the callback function simply runs once the server starts

現在打開瀏覽器並導航至127.0.0.1:3000localhost:3000 ,您將看到“ Google”出現!


還:如果要在完整的HTML頁面中使用響應數據(而不是僅發送其自身的字符串),則可能需要進一步探索如何在Express with Jade(或類似模板)中執行此操作。 每當有人向您的服務器的適當路徑發出請求時,此刻的代碼便會抓取Google; 如果您只想抓取一次Google,然后在服務器的響應中一次又一次地使用相同的字符串,則可能需要考慮如何實現這一點(這很簡單!)。

暫無
暫無

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

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