如何在node.js中添加新的行字符?

我是node.js的新手,我试图编写一个接收http请求并通过套接字转发内容的程序。 在套接字的另一端是一个寻呼系统,需要以一个新的行字符结尾的消息。 到目前为止,它工作正常,除了有一个额外的消息与内容发送: undefined

当我将打印机信息的内容打印到客户端浏览器时,似乎没有新的一行。 我做对了吗?

 sys = require("sys"), http = require("http"), url = require("url"), path = require("path"), net = require("net"); socket = new net.Socket(); socket.connect(4000, '192.168.0.105'); var httpServer = http.createServer(function(request, response) { var uri = String(url.parse(request.url).query); var message = uri.split("="); var page = 'FPG,101,0,3!A' + message[0] + '\n'; response.writeHead(200, {"Content-Type":"text/html"}); response.write('sending message: ' + page + " to pager"); response.end(); socket.write(page); }).listen(8080); sys.puts("Server running at http://localhost:8080/"); 

编辑:我进一步缩小了。 事实certificate,如果我这样做:

 var page = 'FPG,101,0,3!A' + 'hello' + '\n'; 

它工作正常。 所以uri.split("=")的输出不能是我所期望的。

我确定新的一行是在那里,但是当你把你的Content-Type作为text/html发送的时候你不会看到它。 在HTML中, \n只是其他空格,并被视为这样。 使用text/plain代替。

由于内容types是“text / html”,所以我们可以愉快地使用break语句。就这样

 res.write('hello'+'</br>'); res.write('nice to meet you'); 

您可以在节点中尝试下面的代码:

 var http = require('http'); http.createServer(function (req, res) { res.writeHead(200, { 'Content-Type': 'text/html' }); res.write('hello,this is saikiran'+'</br>'); res.end('nice to meet you'); }).listen(process.env.PORT || 8080); console.log('server running on port 8080'); 

根据text / plain的内容types,还可以使用\ r将返回input发送到客户端的浏览器

我找出了问题所在。 出于某种原因,浏览器在我的请求后正在向页面发送附加请求。 我刚刚过滤了某种格式的请求,并修复了它。

考虑使用\\n而不是\n换行。

Interesting Posts