2017-02-17 6 views
0

私はnodejsで新しく、助けが必要です。私は、コードは次のように私はナノドライバーを使用してcloudantDBにクエリを作るapp.jsファイル、見えてきました:app.jsファイルからクラウドDBデータをejsテンプレートに送信するにはどうすればいいですか

var nano = require('nano')('localhost:3000'), 
db = nano.use('compania_cia') 
result = "; 

db.get('compania_cia', function(err, body) { 
    if (!err) { 
     result = body; 

    } 
}); 

私はこの方法での連絡先ビューに「結果」を送信しようとした:

app.get('/contact', function(req, res) { 


    res.render('contact', { ct: req._csrfToken,result:result}); 
}); 

しかし、私は自分のアプリケーションを実行すると、私はエラーにあなたの助けのために500

感謝を取得します。

答えて

0

WebサーバーがHTTPステータスコード500を返す理由が多いため、エラーの説明はあまり役に立ちません。サーバーログを調べましたか?必要な情報が含まれている必要があります。 couchdb/Cloudant固有のコードスニペットを見ると、いくつかの問題があります。そのコードをファイルに保存し、ローカルで実行しようとします(node blah.js)。あなたは

  • は、必ずデータベースのURLを必ず

    • はあなたがpackage.jsonで依存関係として指定されたnanoパッケージを持っていることを確認した場合に迅速に問題を特定し、解決することができる(そして、このテストのために、ローカルnpm install nanoそれをインストール)する必要があり形式と値がそこにあなたのコード内の構文エラー

    記載されている問題のすべてが致命的ではありません、あなたが取得している内部サーバーエラーにつながる可能性があることを確認し

  • 正しいです。次のようにあなたのコードの修正版が見えるかもしれません:

    var nano = require('nano')('http://localhost:5984'), 
    db = nano.use('mydatabase'), 
    result = ''; 
    
    db.get('mydocumentid', function(err, body) { 
        if(err) { 
        console.log('Error: ' + JSON.stringify(err)); 
        } 
        else { 
        console.log('Body: ' + JSON.stringify(body)); 
        } 
    }); 
    
    +0

    を@ptitzlerこんにちは、私はblah.jsファイルを実行した、と私は私のcloudantdbのテーブルのJSON構造を持つ応答を得ることができますが、私は本当に問題はどのようにすることができますですこのレスポンスをejsビューに送信します。 – user2773603

    +0

    ブラウザlocalhost:3000/contactで実行すると、Internal Server Errorが表示されます。だから、私はdbに呼び出すコードをapp.get( '/ contact'、function(req、res)...)に入れようとしましたが、同じエラーが発生します...ありがとうございます.. – user2773603

    +0

    申し訳ありませんが、 (サーバー上のエラーメッセージのような)詳細を生成することができますが、私が手助けすることは何もありません。あなたがこれまでに共有したことに基づいて、問題はデータベースによって引き起こされていないようです。 – ptitzler

    関連する問題