2012-04-26 6 views
0

今日はNode.jsについて文字通りのことが分かりました。私は頭が痛いほどの読書をしました。私はノードサーバーを稼動させています。また、テキストファイルに書き込むノードサーバー上の.JSファイルもあります。私は、JavascriptアプリケーションからNode.jsを実行しているサーバーに渡される変数(名前)が1つだけで、ログファイルが更新されるのを見たいと思っています。私が読んだことから、AJAXはこれを行うための最善の方法です。誰かがこれを行う方法について、小さなコード例で正しい方向に向かうことができますか?AJAXを使用してノードサーバーにPOST

サーバー実行しているノード

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のコード)。 });

答えて

3

これは、私はあなたが言及した何だろうかです:

は、迅速なhttpサーバを作る任意の接続のリクエスト変数を見て、渡されたパラメータを取得し、ファイルにそれを書き込みます。ここ

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リクエストでは、私のjavascriptアプリケーションの中の[link] http://www.websitetoolbox.com/tool/support/117のjavascriptコードを追加し、URLをhttp:// mynodeserver:8000に変更して、私は成功を得ましたポップアップ私はクライアントのWebブラウザで私のJavaScriptアプリケーションを押す。次に、投稿した最初のコードと変更された関数を.jsファイルに追加してノードサーバーに保存しました。私は私のjavascriptアプリケーションでhttprequestでピックアップする前に、ノードサーバー上のcmdプロンプトでそのjsファイルを実行する必要があると仮定?私はSysntax erを取得 – DaBears

関連する問題