Wie fügt neue-Zeile-Zeichen in node.js?
Ich bin neu node.js und ich versuche, ein Programm zu schreiben, dass http-Anforderungen empfängt und übermittelt die Inhalte über eine socket. Am anderen Ende der Buchse ist ein paging-system-Nachrichten beendet mit einem neue-Zeile-Zeichen. So weit, es funktioniert gut, außer es gibt eine zusätzliche Nachricht geschickt mit dem Inhalt: undefined
.
Wenn ich drucken Sie den Inhalt von pager-Nachricht an den client-browser wird es nicht angezeigt zu sein, eine neue Zeile. Tue ich das richtige?
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/");
EDIT: ich habe verengt es nach unten weiter. Es stellt sich heraus, dass, wenn ich tun:
var page = 'FPG,101,0,3!A' + 'hello' + '\n';
Funktioniert es okay. Also die Ausgabe von uri.split("=")
müssen nicht sein, was ich erwarte.
\r\n
statt nur \n
?Nein, ich habe diese Arbeit in einer anderen Anwendung, indem Sie einfach senden \n, damit ich weiß, dass ist alles was ich brauche.
InformationsquelleAutor David | 2012-05-04
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ich bin mir sicher, dass die neue Linie ist da, aber Sie nicht gehen, um es zu sehen, wenn Sie senden Sie Ihre
Content-Type
alstext/html
. In HTML\n
nur andere whitespace-Zeichen, und wird als solche behandelt. Verwendentext/plain
statt.wo in der HTML-Spezifikation ist es geschrieben, wie HTML behandeln
\n
???href="https://www.w3.org/TR/CSS2/text.html#white-space-model" >w3.org/TR/CSS2/text.html#white-space-model
aber was du geschrieben hast ist über css nicht html ' Recht ?
CSS legt fest, wie der whitespace-interpretiert wird. Haben Sie eine spezifische Frage?
InformationsquelleAutor Brad
Seit Inhaltstyp ist 'text/html',können wir gern benutzen break-Anweisung.Genau wie dieser
Können Sie versuchen, diesen code in node:
InformationsquelleAutor saikiran kokku
Als pro content-Typ text/plain, können Sie auch \r zum senden eines return-Eingang
an den client-browser
InformationsquelleAutor Amado Saladino
Ich herausgefunden, was das problem war. Aus irgendeinem Grund den browser senden war eine zusätzliche Anforderung an die Rechte Seite nach meiner Anfrage. Ich habe gerade gefiltert für requests mit einem bestimmten format und fixiert es.
InformationsquelleAutor David
Erwägen Sie die Verwendung
\\n
statt\n
für new line.InformationsquelleAutor user1511703