我正在使用webmatrix并构建node.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页面中呈现。 如何实现。 请对此提出一些建议..
答案 0 :(得分:2)
首先,我建议您使用Expressjs,这是Nodejs的框架。
然后我建议您使用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>
...
我希望它有所帮助。
另外评论:
问候。
答案 1 :(得分:0)
听起来您想使用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>