sql >> データベース >  >> NoSQL >> MongoDB

Node / ExpressのMongoDBの例との間のAJAX呼び出し?

    いくつかの提案

    index.htmlのajax呼び出しについて

    1. index.htmlの場合 が同じサーバーによって提供されている場合は、クロスドメイン呼び出しを使用しないでください。 url $.ajaxのプロパティ /startのような相対URLにすることができます 。
    2. また、jsonpを使用しないことも考えられます。 リクエスト。

    呼び出しは次のようになります

    $.ajax({
        dataType: 'json',
        data: $('#formID').serialize(),
        type: 'POST',
        url: "./start",
        success: handleButtonResponse,
    });
    

    JSONはどのように/どこでMongoDBに接続しますか?

    あなたのajax呼び出しでは、./startを要求しています 、したがって、同じルートをエクスプレスサーバーで作成する必要があります。のように

    app.get('/start', function (req, res) {    
        db.collection('collectionName').insert({req.data}, function (err, doc) {
               //rest of code 
        });    
    });
    

    Expressには、Consolidateなどのテンプレートエンジンが必要ですか?もしそうなら、それはどのように/どこに収まりますか?

    jade、ejs、hbsなど、テンプレートを作成するための多くのオプションがあります。jadeまたはそれらのいずれかを使用すると、高速ルートでのhtmlレンダリングコードが簡略化されます。

    テンプレートエンジンなし

    response.writeHead(200, {"Content-Type:": "application/json"}); 
    var submittedPost = {};
    submittedPost['message'] = 'Proof that Node and Mongo are working..';
    response.write( "_wrapper('" );
    response.write( JSON.stringify(submittedPost) );
    response.write( "')");              
    response.end();
    

    翡翠(現在はパグ)のようなテンプレートエンジンを使用

    var submittedPost = {};
    submittedPost['message'] = 'Proof that Node and Mongo are working..';
    response.json(submittedPost);
    

    テンプレートエンジンを使用すると、サーバー側の変数を使用してテンプレートをレンダリングしたり、テンプレート内でテンプレートにアクセスしたりできます。

    app.get('/mypage', function (req, res) { 
        res.render('mytemplate_page',{template_variable:some_variable});
    });   
    

    template_variableを使用できます ループまたは表示するためのテンプレート内。




    1. MongoDBバッチ挿入がJavaドライバーで機能しない

    2. MongoDBでテキストインデックスを作成する方法

    3. RedisTemplateの有効期限が機能しません

    4. Node-Js、Typescript、PostgreSQL、Redis、Kafkaで作成されたEコマースAPI