2016-12-21 16 views
0

私は、フロントにreactjsとfluxを使用してアプリケーションを開発し、バックとしてサーバーとして表現しました。すべてうまくいった。しかし、私はアプリを主催したときに問題があります。複数のユーザーがURLを使用してアプリケーションを実行している場合、変更はすべてのインスタンスに適用されます。マルチインスタンスを許可していませんか?nodejsとexpressでリンクされたホストされたアプリケーション

編集:ここでは は私のgetmailにある:それは私のserver.js

app.get('/api/getmail', function(req, res) { 
    try { 
     let id = req.param('id'); 
     var options = { sql: 'SELECT * FROM message WHERE message_owner="' + id + '"', nestTables: true }; 
     connection.query(options, function(err, result) { 
      if (err) throw err; 
      res.json(result); 
     }); 
    } catch (error) { 
     res.json({ error: error }); 
    } 
}); 

ユーザーヒット(前)getMails関数だ、要求が(私が作ったAPIを使用して送信されますapiは、superagent/lib/clientからの要求を使用します)。私のサーバーのポートがそのように指定されています

app.listen(3002); 
+1

ルーティングの設定方法を教えてください。複数のインスタンスで同じURLをどのように使用していますか? 1つのサーバーで同じアプリを複数回実行していますか?どのホスティングサービスを使用していますか?より多くの文脈とコードは私たちがあなたを助けるために必要です。 –

+0

私はルートを指定するのにreact-routerを使用しています。私は説明します:私のエントリポイントはindex.jsです。ここで私は反応ルータで経路を指定します。それから、私はサーバを要求します(expressデータベースは通信します)。クライアント側はxxxxxx.com:3000で実行され、サーバー側はxxxxx.com:3002で実行されます。クライアントからサーバにリクエストを送る場合は、スーパーエージェントライブラリ(ノードモジュール)とurl = "http://xxxxxx.com:3002/getmail"から "request"を使用します。私はOVHで私のアプリケーションをホストしています。私は通常のaccout(私はルートではない)ので、私はいつもポート3000を指定してURLにアクセスしたいと思っています – Meryam

+0

あなたのローカルシステムでそれを呼び出すときにはい、次にルートを呼び出してみてください、あなたのnodejsです。ポート番号を変更し、127.0.0.1(ローカルホスト)やその他のURLのようなURLを使用してください。 このように使用する127.0.0.1:3002/getmail –

答えて

0

だから私はあなたの問題はここであることを伝えることができます:

let id = req.param('id'); 

deprecated in expressてきましたreq.param機能。したがって、let idは常にnullに等しくなります。だからあなたのMYSQLサーバに言っているのは、 "idが何もないメッセージからすべてを選択する"です。クエリ文字列からidを取得する場合は、this postをご覧ください。あなたの状況に応じて、This methodもオプションです。

関連する問題