2016-11-14 5 views
0

Firebaseデータベースを使用してデータを保存しています。私は初めてデータを更新する場合、正常に動作しますが、2回目に更新するとエラーが発生します。 データを更新するためのコードはです。Firebaseでデータを更新しているときに、NodeJsサーバに「ヘッダを設定できません」というエラーが発生しました。

router.post("/saveSetting", function(req, res) { 
    var fbref = firebase.database().ref("setting"); 
    fbref.set(req.body).then(function(data) { 
    res.end('ok'); 
     }); 

    }) 
/*get data from firebase*/ 
    router.get('/setting', function(req, res) { 

    var fbref = firebase.database().ref("setting"); 
    fbref.once("value").then(function(data) { 
    res.send(data.val()); 
    }) 
    }); 

Terminal ScreenShoot

+0

エラーメッセージの画像へのリンクを投稿しました。これを検索可能になり、すぐに判読できるように、これを実際のエラーメッセージのテキストに置き換えてください。また、[問題を再現する最小限の**完全なコードが必要です](http://stackoverflow.com/help/mcve)。共有したスニペットは 'req'を使用しますが、宣言はしません。 –

+0

@FrankvanPuffelen、コードをアップロードしました。問題は、私はサーバーへのリクエストをポストしているときに発生します、私は私の要求が完了するまで私の保存ボタンを無効にします。 –

+0

'res'レスポンスオブジェクトに' end() 'を呼び出した後、データを送信しています。エラーメッセージを検索すると、これがなぜ、どのように防止されるのかを説明するヒットを得るでしょう。 –

答えて

1

firebaseは完全にソケットで構成されています。 ()で聞いている場合は、イベントが発生した後にリスナーの登録を解除する必要があります。または単にonce()リスナーを使用することもできます。

この問題は、同じ応答を2回目にクライアントに送信しようとすると発生します。

関連する問題