如何在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> ...
我希望有所帮助。
另外审查:
- http://utahjs.com/2010/09/25/nodejs-express-and-ejs-templates/
- 在node.js中渲染ejs文件
- Node.js – EJS示例
问候。
听起来就像你想要使用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>