2012-01-19 15 views
0

私はnodejs/javascipt/jquery/html/cssとmysqlを使ってWebサイトを構築しています。jqueryを使ってjavascriptファイルからノードmouduleにアクセスする

は、私は、ユーザー(名前& & PSW) からの入力を受けているHTMLログインページを持っていると私は、ファイル持って言うことができます:それは正常に動作します必要とせずに

login.js: 

var node = reuqire('some module'); 

$(document).ready(function() { 

var username = $('#name'); 
var password = $('#password'); 
$('#login_button').click(function(){ login(username.val(),password.val())}); 

}); 

を(私はまた、 requireをready関数に移動しようとしました) 何らかの理由で別のモジュールを使用できません。 助けてください?

はあなたに感謝:)それができないように

+2

使用すると、1つのファイルにクライアントサイド/サーバーサイドJavaScriptを混合しているように見えます。 'require'はNodeです。' $(document).ready'はjQueryです。 (また、あなたは 'require'を間違って綴っています。)あなたは何を達成しようとしていますか?クライアント側でノード(サーバー側)モジュールが必要ですか? – pimvdb

+0

データベースにアクセスして、ユーザーとパスワードが正しいかどうかを確認しようとしています。 ので、私は(私のSQLを使用して)データベースに接続し、データベースに行うためのさまざまなもののための機能の束を供給JSファイルを持っています。彼が存在するかどうかを知るための1人。 – user690936

答えて

0

は、クライアント側のファイルにサーバー側の関数を呼び出します。しかし、あなたのコメントを見て、NowJSライブラリをお勧めします。

NowJSを使用すると、1つのファイルにクライアント側/サーバー側のJavaScriptを混在させることはできません(それはちょうど意味を成していないので、それがなかった場合には、高いセキュリティ上のリスクになります)。しかし、それはあなたがいない追加の手間で、クライアント側を呼び出すことができる機能サーバ側を(例えば、資格情報をチェックしている)、定義することができません。そのサーバー側の機能が完了したら、クライアント側の関数に結果(つまり正しい資格情報と間違った資格情報)を送ることができます。そうすれば、簡単に望みのものを達成することができます。サーバー側で

あなたが基本的なチュートリアルを読んでいれば(私はあなたがなどのログイン情報をチェックしているのか分からないので、部分的に擬似コード)、あなたはこのようにそれを実装することができ

クライアント側では
everyone.now.checkLogin = function(username, password, callback) { 
    db.query("...", function(results) { 
    if(results.correct) { 
     callback(true); 
    } else { 
     callback(false); 
    } 
    }); 
}; 

$("#login_button").click(function() { 
    var username = $("#username").val(), 
     password = $("#password").val(); 

    now.checkLogin(username, password, function(correct) { 
    if(correct) { 
     $("#correct_message").show(); 
    } else { 
     $("#wrong_message").show(); 
    } 
    }); 
}); 
関連する問題