不使用websockets将html呈现给客户端



我使用nodejs v0.10.12并使用websocket。在服务器端,我有一个类似的代码

//the http server
var server = http.createServer(function(request, response) {
    console.log((new Date()) + ' Received request for ' + request.url);
    response.writeHead(200, {'Content-Type': 'text/html'});
    response.end(clientHtml);
});
server.listen(8000, function() {
    console.log((new Date()) + ' Server is listening on port 8000');
})
//the websockets server
var wsServer = new WebSocketServer({
    httpServer: server,
    autoAcceptConnections: false
});
//connections, getting data from client , etc, etc
//try to send data to client
 connection.send('<b>Name</b></br>'+
result.row[i].p_name+
'</br></br><b>Description</b></br><textarea rows="20" cols="60">'
+result.rows[i].p_descr+
'</textarea>');

我想通过websockets将connection.send中包含的数据从服务器发送到客户端。问题是,在客户端上,html标签也会渲染,在浏览器上我会得到

<b>Name</b></br>testpoint5</br></br><b>Description</b></br><textarearows="20"cols="60">testpoint5</textarea>

我搜索了"通过websockets的html标签"之类的,但没有用。。。

有什么建议吗?如何使html标签在客户端上"工作",而不仅仅是渲染?

感谢

您稍后是否尝试将该数据插入DOM?

在这种情况下,你需要逃离你的标签。我的意思是<应该变成&lt;>应该变成&gt;

你还需要逃离其他角色。在谷歌上查找"转义html实体"。

你应该在服务器端这样做:

connection.send("&lt;b&gt;Name&lt;/b&gt;&lt;/br&gt;"+result.rows[i].p_name+"&lt;/br&gt;&lt;/br&gt;&lt;b&gt;Description&lt;/b&gt;&lt;/br&gt;&lt;textarearows="20"cols="60"&gt;"+result.rows[i].p_descr+"&lt;/textarea&gt;")

相关内容

  • 没有找到相关文章