簡體   English   中英

如何在node.js中添加換行符?

[英]How to append new line character in 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/");

編輯:我進一步縮小了范圍。 事實證明,如果我這樣做:

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

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

我確定新行是存在的,但是當你將Content-Type作為text/html發送時,你不會看到它。 在HTML中, \\n只是其他空格,並且被視為這樣。 請改用text/plain

由於內容類型是'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的內容類型,您還可以使用\\ r \\ n將返回輸入發送到客戶端的瀏覽器

我弄清楚問題是什么。 出於某種原因,瀏覽器在我的請求之后立即向頁面發送了一個額外的請求。 我剛剛過濾了某種格式的請求並修復了它。

考慮使用\\\\n而不是\\n來表示新行。

暫無
暫無

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

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