ajaxへの投稿node.js expressアプリ?
-
11-10-2019 - |
質問
AJAXを使用してデータベースに挿入する前に認証しようとしています
$('#button').click(function () {
$.post('/db/', {
stuff: { "foo" : "bar"}
}, callback, "json");
});
これが私のnode.jsコードです:
server.get('/', function(req,res){
console.log(res);
res.render('index.ejs', {
locals : {
header: '#Header#'
,footer: '#Footer#'
,title : 'Page Title'
,description: 'Page Description'
,author: 'Your Name'
,analyticssiteid: 'XXXXXXX'
}
});
});
^^この部分は大丈夫です。それはボイラープレートから来ています、私はLocalHostに行き、フロントページを見ることができます。
この次の部分は、Mongoインサートが発生する場所であるはずです。これは私に404を与えます。
server.on('/db/', function(req,res){
console.log(req);
console.log(res);
var db = new mongo.Db( 'dbname' , new mongo.Server( 'localhost', 20003, {}), {});
db.open(function (err) {
db.collection('testCollection', function (err, collection) {
collection.insert(res.stuff);
});
});
});
私がやろうとしているのは、オブジェクトを挿入することです stuff
テストコレクションに。
今、私は /db /db /を取得しています
これは非常に間違っていると確信しています。 server.on、server.getも使用することになっていないと思います。アドバイスしてください、ありがとう。
他のヒント
あなたは投稿を期待しているので、あなたの / db /ハンドラーはで定義されるべきです server.post
方法。サーバーには、ポストと /db /の組み合わせに対して定義されたルートがないため、404を取得しています。
また、DB Connectを認証する必要があり、各リクエストでDBに再接続しないでください
var db = new mongo.Db( 'dbname' , new mongo.Server( 'localhost', 20003, {}), {});
db.authenticate(user, password, function({ // callback }));
server.post('/db/', function(req,res){
db.open(function (err) {
db.collection('testCollection', function (err, collection) {
collection.insert(. . .);
});
});
});
所属していません StackOverflow