如何在HTMLPage中显示node.js输出

我正在使用webmatrix和构buildnode.js应用程序。 在这个我想要从node.js的值传递给项目中的HTMLPage。

var http = require('http'); var URL = require('url');

http.createServer(function (req, res) { res.writeHead(200, { 'Content-Type': 'text/html' }); res.end('Hi man'); }).listen(process.env.PORT || 8080); 

有了这个代码,我试着给你一个页面嗨man.Its显而易见的,但我希望这是呈现在我有在项目中的HTML页面。 如何达到达。 请给出一些build议

首先,我build议你使用Expressjs ,这是Nodejs的一个框架。

那么我build议你使用EJS ,一个Nodejs的引擎模板。

全部集成时,可以使用类似于以下的代码:

 ... app.set('views', __dirname + '/views'); app.register('.html', require('ejs')); app.set('view engine', 'html'); app.use(express.static(__dirname + '/public')); app.use(express.favicon(__dirname + '/public/img/favicon.ico', { maxAge: 2592000000 })); app.use(expressValidator); ... 

 ... app.get('/test', function(req, res){ res.render('test', {msg: "Hello World"}); }); ... 

最后在你的文件views / test.html中

 ... <div><%- msg %></div> ... 

我希望有所帮助。

另外审查:

问候。

听起来就像你想要使用AJAX请求你的nodejs服务器,并将服务器的响应注入HTML元素。

查看: http : //api.jquery.com/jQuery.getJSON/

下面是一个使用jQuery连接和检索来自运行在不同主机端口8080上的节点的服务器响应并将其插入HTML元素的示例。


节点:

 var http = require('http'); var url = require('url'); http.createServer(function (req, res) { //parse the url and query string from the request var url_parts = url.parse(req.url, true); //if the callback query parameter is set, we return the string (or object) if(url_parts.query.callback){ var str = "Hi man"; res.writeHead(200, {'Content-Type':'text/html'}); res.end(url_parsed.query.callback+'("'+str+'")'); //if it's not set, let's return a 404 error }else{ res.writeHead(404, { 'Content-Type': 'text/html' }); res.end('404 Error'); } }).listen(process.env.PORT || 8080); 

的index.html

 <div id="my-div"></div> <script src="http://code.jquery.com/jquery-latest.js"></script> <script> $(function(){ //getJSON and the callback paramater make us cross-domain capable. $.getJSON('http://myotherhost.com:8080/?callback=?', function(data){ $("#my-div").html(data); }); }); </script>