2012-04-26 3 views
0

저는 문자 그대로 Node.js에 대해 알아 냈습니다. 많은 독서를 했으므로 머리가 아파졌습니다. 노드 서버를 가동 시켰습니다. 또한 텍스트 파일에 쓰는 노드 서버에 .JS 파일이 있습니다. 로그 파일이 업데이트되도록 Node.js를 실행하는 서버에 자바 스크립트 응용 프로그램에서 전달 된 하나의 변수 (이름) 만보고 싶습니다. 내가 읽은 바로는 AJAX가이를 수행하는 가장 좋은 방법입니다. 누군가가 나를 어떻게 올바른 방향으로 갈 수있는 작은 코드 예제와 함께 할 수 있습니까?AJAX를 사용하여 노드 서버에 게시

를 실행하는 서버 노드

var fs = require('fs'), str = 'some text'; 
fs.open('H://log.txt', 'a', 666, function(e, id) 
{ 
    fs.write(id, str + ',', null, 'utf8', function(){ 
    fs.close(id, function(){ 
    console.log('file is updated'); 
}); 

})에 File.js의

코드; }});

가 빠른 http 서버를 확인 모든 연결의 요청 변수로보고, 전달 된 매개 변수를 얻고, 파일에 그 쓰기 :

답변

3

이것은 당신이 언급 한 일을 할 것입니다 방법이다. 여기

var http = require('http'); 
http.createServer(function (req, res) { 
    var inputText = req.url.substring(1); 
    processInput (inputText); 
    res.writeHead(200, {'Content-Type': 'text/plain'}); 
    res.end('Completed.'); 
}).listen(1337, '127.0.0.1'); 

편집 : 물론, 당신은 여전히 ​​processInput가 무엇인지 정의해야합니다.

function processInput (text) 
{ 
    // What you had before 
    var fs = require('fs'); 
    fs.open ('H://log.txt', 'a', 666, function (e, id) 
    { 
     fs.write (id, text + ',', null, 'utf8', function() { 
      fs.close(id, function() { 
       console.log('file is updated'); 
      } 
     } 
    }); 
} 

이 방법, 당신은

127.0.0.1:1337/write

에 요청을 보낼 때 (processInput 입력을 기록하는 경우)는 파일에 단어 "쓰기"를 작성합니다.

처리 할 수있는 또 다른 방법은 URI의 매개 변수를 사용하는 것입니다. 이 작업을 수행하는 방법에 대한 자세한 내용은 here at the nodejs api입니다.

행운을 빈다.

+0

안녕하세요 Kaushik- 멋진 게시자 주셔서 감사합니다. 127.0.0.1:1337/write에 대해 자세히 설명해 주시겠습니까? 변수를 전달하기 위해 어떻게 든 서버 끝의 .js 파일을 호출 할 필요가 없습니까? 미안하지만, 이제 막 배웠어. 지금 내 의견을 불어라;) – DaBears

+0

어이 DaBears. 노드 서버에 요청을하면,'req' 객체 내의 요청에 대한 모든 정보를 얻게됩니다. 노드가 작동하는 방식은 실제로 자바 스크립트 러너입니다. 하지만 강력하게 만드는 이유는 'http','net' 및 기타 확장 가능한 서버를 만들 수있는 많은 패키지가 있다는 것입니다. 매우 유연하지만 많은 것을 지정해야합니다. [http 요청 방법] (http://www.w3.org/Protocols/rfc2616/rfc2616-sec5.html)을 살펴보고 매개 변수'write'가 전달되는 방식을 이해하고 최신 편집 내용을 확인하십시오. . –

+0

안녕 Kaushik- 이것은 나에게 더 이해하기 시작하고있다. http 요청에 대해 내 자바 스크립트 응용 프로그램의 [link] http://www.websitetoolbox.com/tool/support/117에서 자바 스크립트 코드를 추가하고 http : // mynodeserver : 8000으로 URL을 변경하면 성공했습니다. 팝업 때 클라이언트 웹 브라우저에서 내 자바 스크립트 응용 프로그램을 누르십시오. 다음으로 게시 한 첫 번째 코드와 수정 된 기능을 .js 파일에 추가하고 노드 서버에 저장했습니다. 나는 그것이 내 자바 스크립트 애플 리케이션에서 httprequest에 의해 집어 수 전에 노드 서버에서 cmd를 프롬프트에서 해당 js 파일을 실행하는 데 필요한 가정합니까? 나는 Sysntax er을 얻을 – DaBears

관련 문제