1

私のアプリケーションには、認証が必要なサーバー スクリプトにユーザー名とパスワードを送信する通常のログイン ページがあり、認証されたユーザーの場合、サーバーは Student.html ページにリダイレクトする必要があります。これは私のコードです

      var ports = 3000;
      var portt = 3001;
      var express = require('express');
      var student = require('express')();
      var teacher = require('express')();
      var server_s = require('http').createServer(student);
      var server_t = require('http').createServer(teacher);
      var ios = require('socket.io').listen(server_s);
      var iot = require('socket.io').listen(server_t);
      var path = require('path');

      server_s.listen(ports);
      server_t.listen(portt);

      student.use(express.static(path.join(__dirname, 'public')));
      student.get('/', function(req,res){
  res.sendfile(__dirname + '/login.html');
     });

     teacher.use(express.static(path.join(__dirname, 'public')));

     teacher.get('/', function(req,res){
 res.sendfile(__dirname + '/mytry.html');
     });


    ios.sockets.on('connection', function(socket){
    var username, password;

    socket.on('check',function(data){
    username = data[0];
    password = data[1];
    //************* Database connection and query *************
    var mysql      = require('mysql');
    var connection = mysql.createConnection({
        host     : 'localhost',
        user     : 'user',
        password: '*******',
        database: 'my_db'
    });

    connection.connect();
    var qstring = 'SELECT s_id FROM login_student WHERE username='+username+'AND password='+password;
    connection.query(qstring, function(err, rows, fields) 
    {
        if (err) 
        {   
            console.log('ERROR: ' + err);
            socket.emit('login_failure','DB error');
            return;
        }
        console.log('The solution is: ', rows[0].solution);
        if (rows>0) 
                    //***** Here i want redirection to another page ****** 
        else socket.emit('login_failure','Invalid Username or password');
    });

    connection.end();
});
  });

 iot.sockets.on('connection', function(socket){
;
});
 });

誰が私が何をすべきかを提案できますか?

4

2 に答える 2

1

1 つの方法は、応答でリダイレクト ヘッダーを送信することです。コメントの代わりに次を追加します。

response.setHeader('Location','your_redirection_url');

Read : http://nodejs.org/docs/v0.4.12/api/http.html#response.setHeader

One other way is to use meta redirect. print this as part of the <head> section. This will redirect the page automatically.

<meta http-equiv="Refresh" content="0; url=http://your_redirection_url" />

于 2013-10-20T15:51:59.403 に答える
-2

このような

window.location.replace("http://www.website.com/student.html");
于 2013-10-20T15:48:05.097 に答える