2016-08-27 4 views
0
module.exports.login = function (request, response, next) { 
if (request.body.user && request.body.password) { 
    response.end('submitted'); 
} else { 
    common.render('login', function (error, file) { 
     if (error) { 
      next(error); 
     } else { 
      response.writeHead(200, 'OK', { 'Content-Type': 'text/html' }); 
      var stream = fs.createReadStream(file); 
      stream.pipe(response); 
     } 
    }); 
} 
}; 

connectbody-parserを使用しています。このアプリを初めて開くと、ログインフォームが表示されますが、フォームを送信すると、コンソールに表示される方法でエラーが許可されません。いくつかのヘッダーを追加しようとしていたが、うまくいかなかった。誰でも助けることができますか?NodeJSメソッドが許可されていません

+0

express.jsルートコードを掲載できますか?どこにURLマッピングを設定しますか? – rdegges

+0

また、デフォルトのフォーム動作でフォームを送信していますか、AJAXリクエストをしていますか? –

+0

私は 'express'を' connect'だけ使っていません。私はデフォルトの動作を介して提出しています。 – Mati

答えて

0

私は構文があるべきと考えている:

module.exports = function(request, response, next) { 
if (request.body.user && request.body.password) { 
    response.end('submitted'); 
} else { 
    common.render('login', function (error, file) { 
     if (error) { 
      next(error); 
     } else { 
      response.writeHead(200, 'OK', { 'Content-Type': 'text/html' }); 
      var stream = fs.createReadStream(file); 
      stream.pipe(response); 
     } 
    }); 
} 
}; 

または

function login(request, response, next) { 
if (request.body.user && request.body.password) { 
    response.end('submitted'); 
} else { 
    common.render('login', function (error, file) { 
     if (error) { 
      next(error); 
     } else { 
      response.writeHead(200, 'OK', { 'Content-Type': 'text/html' }); 
      var stream = fs.createReadStream(file); 
      stream.pipe(response); 
     } 
    }); 
} 
}; 
module.exports = login; 
0

私は最終的にそれを解決しました。問題はserve-staticserve-indexでした。それは許可されたメソッドのようないくつかの余分なヘッダを書かれました!

関連する問題