2

私は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);

そのコードで私はそれを試してみましたが、それは明らかです。しかし、私はこれをプロジェクトで持っているhtmlページにレンダリングしたいと思います。tatを達成する方法。これについていくつか提案してください。

4

2 に答える 2

2

まず、NodejsのフレームワークであるExpressjsを使用することをお勧めします。

次に、NodejsのエンジンテンプレートであるEJSを使用することをお勧めします。

すべてを統合する場合、次のようなコードを使用できます。

...
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>
...

多少お役に立てば幸いです。

さらにレビュー:

ご挨拶。

于 2012-12-12T01:55:48.730 に答える
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>
于 2012-12-12T02:01:54.937 に答える