2016-06-27 8 views
2

本当に問題はありますが、私のアプリを起動した後、全てのソケット要求(例えば/api/articles/subscribe)など、コンソールにundefinedを記録します。セイルソケットリクエストログは未定義

GET /api/articles 200 180.463 ms - 27767 
GET /api/articles/subscribe undefined - ms - - 

HTTPであり、第二のソケットである第一の要求。

どうしてこの問題を修正できますか?

編集 マイルート:

'get /api/articles': 'ArticlesController.index', 
'/api/articles/subscribe': 'ArticlesController.subscribe', 

私はJSON形式ですべての私の記事を取得するにはGETルート(GET /api/articles)を使用しています。

io.socket.get('/api/articles/subscribe', function(data, jwt) { ... 

で申し込む方法自体を私は特定の部屋を購読する記事を見ながら

subscribe: function(req, res) { 
    if(typeof req.user !== 'undefined') { 
    sails.sockets.join(req.socket, 'articles'); 

    return res.ok(); 
    } 
} 

サブスクライブはうまく動作しますが、このGET /api/articles/subscribe undefined - ms - -は私のコンソールに常にあります。

+0

もう少し情報を追加できますか?私が非常に基本的なSailsアプリをゼロから作成した場合、コンソールには何も記録されません(例えば、新しい記事、CD記事、帆はapi記事を生成する、帆を持ち上げる) – Ultrasaurus

+0

@Ultrasaurusは質問を編集して詳細を提供します。 – nehalist

+0

'res.getHeader( 'X-Response-Time')'を使用して応答時間を表示していますか? – khushalbokadey

答えて

0

次のいずれかを試しましたか?

あなたは(あなたがJSONまたは類似を送信する場合など)あなたはポスト要求を使用する場合がある要求(例えばhttp://www.url.com/?user=randomusername

subscribe: function(req, res) { 
    var user = req.param("user"); 
    if(user !== undefined) { 
    sails.sockets.join(req.socket, 'articles'); 
    return res.ok(); 
    } 
    return res.badRequest(); 
} 

をゲット使用する場合これは

subscribe: function(req, res) { 
    if(req.body !== undefined && req.body.user !== undefined) { 
    sails.sockets.join(req.socket, 'articles'); 
    return res.ok(); 
    } 
    return res.badRequest(); 
} 

または、このように使用する必要があります(Sails reference

subscribe: function(req, res) { 
if (!req.isSocket) { 
    return res.badRequest(); 
} 
var room = req.param('user'); 
sails.sockets.join(req, room, function(err) { 
    if (err) { 
    return res.serverError(err); 
    } 
    return res.json({ 
    message: 'Subscribed to a room called '+ room +'!' 
    }); 
}); 
}