[英]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.