2012-12-11 3 views
2

webmatrix 및 building node.js 응용 프로그램을 사용하고 있습니다. 그 값을 node.js에서 프로젝트의 HTMLPage로 전달하고 싶습니다.HTML 페이지에 node.js 출력을 표시하는 방법

var http = require ('http'); var URL = 필요 ('url'); 나는 그것을 시도하는 코드와

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


}).listen(process.env.PORT || 8080); 

안녕하세요 man.Its있는 페이지를 제공 obvious.But 나는이 내가 프로젝트에 데 HTML 페이지의 렌더링하고자합니다. tat를 달성하는 방법. 여기에 대해 제안 해주세요.

답변

2

먼저 Nodejs의 프레임 워크 인 Expressjs을 사용하는 것이 좋습니다.

그런 다음 Nodejs의 엔진 템플릿 인 EJS을 사용하는 것이 좋습니다.

integreses 모두 다음과 유사한 코드를 사용할 수있는 경우 : 파일에 보기/test.html를

... 
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"}); 
}); 
... 

을 :

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

I을 도움이되기를 바랍니다.

또한 검토 :

인사말.

0

AJAX를 사용하여 nodejs 서버를 요청한 다음 서버의 응답을 HTML 요소에 주입하려고하는 것처럼 들립니다.

체크 아웃 : http://api.jquery.com/jQuery.getJSON/

여기에 연결하고 다른 호스트의 포트 8080에서 실행중인 노드에서 서버 응답을 검색하고, HTML 요소로 그를 삽입 할 jQuery를 사용하는 예입니다.


노드 :

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> 
+0

이 방법은 괜찮지 만 내 경우 노드의 ID를 다른 포트를 실행하는 다른 port.Application에서 실행됩니다. 이렇게하면 도메인 간 오류가 발생합니다. – sfk

+0

jQuery의'$ .getJSON'과 교차 도메인 아약스의 콜백 매개 변수를 사용할 수 있습니다. 반영 할 답변을 업데이트했습니다. – ndmweb

관련 문제