为什么我在尝试使用 Node.js 运行客户端脚本的 shell 中看不到日志?
Why I do not see the log in the shell trying to run client script with Node.js?
我正在尝试 "Server sent event" 使用 express。
我可以通过从浏览器请求数据来获取数据,但我需要详细说明这些数据。
从 shell 运行脚本(客户端)我看不到任何东西。
我做错了什么或者我忘记了什么?
服务器端:
var express = require("express")
, http = require("http")
, fs = require('fs')
, ursa = require('ursa')
, url = require('url')
, querystring = require('querystring')
, jsonObject;
var app = express();
app.use(function(request, response) {
response.writeHead(200, {
'Connection': 'keep-alive',
'Content-Type': 'text/event-stream',
'Cache-Control': 'no-cache'
});
console.log("sending data over eventsource...");
response.write("\n");
response.write("data:ok");
});
http.createServer(app).listen(8080);
客户端:
var EventSource = require('eventsource');
var source = new EventSource("http://localhost:8080");
source.addEventListener('data', function (e) {
var log = e.data;
console.log(log);
});
您需要在数据后写一个\n
以表示该事件结束。
已解决,
我只是将 addEventListener() 中的事件类型从 'data' 更改为 'message',如下所示:
var EventSource = require("eventsource");
var source = new EventSource("http://localhost:8080");
source.addEventListener("message", function (e) {
var log = e.data;
console.log(log);
});
我正在尝试 "Server sent event" 使用 express。 我可以通过从浏览器请求数据来获取数据,但我需要详细说明这些数据。 从 shell 运行脚本(客户端)我看不到任何东西。
我做错了什么或者我忘记了什么?
服务器端:
var express = require("express")
, http = require("http")
, fs = require('fs')
, ursa = require('ursa')
, url = require('url')
, querystring = require('querystring')
, jsonObject;
var app = express();
app.use(function(request, response) {
response.writeHead(200, {
'Connection': 'keep-alive',
'Content-Type': 'text/event-stream',
'Cache-Control': 'no-cache'
});
console.log("sending data over eventsource...");
response.write("\n");
response.write("data:ok");
});
http.createServer(app).listen(8080);
客户端:
var EventSource = require('eventsource');
var source = new EventSource("http://localhost:8080");
source.addEventListener('data', function (e) {
var log = e.data;
console.log(log);
});
您需要在数据后写一个\n
以表示该事件结束。
已解决, 我只是将 addEventListener() 中的事件类型从 'data' 更改为 'message',如下所示:
var EventSource = require("eventsource");
var source = new EventSource("http://localhost:8080");
source.addEventListener("message", function (e) {
var log = e.data;
console.log(log);
});