背景
https://www.nnn.ed.nico/questions/14833
n予備校の教材の通りに実装を進めていたところ、このリンクと同じ状況に遭遇
問題
chromeに限り、以下のコードで表示されるはずのログアウトしましたという文とリンクが表示されない。
functionhandleLogout(req,res){res.writeHead(401,{'Content-Type':'text/html; charset=utf-8'});res.end('<!DOCTYPE html><html lang="ja"><body>'+'<h1>ログアウトしました</h1>'+'<a href="/posts">ログイン</a>'+'</body></html>');}
原因
chromeのバグ
https://bugs.chromium.org/p/chromium/issues/detail?id=992639
解決
- とりあえず別のステータスコードを変える
functionhandleLogout(req,res){console.log('handleLogout');res.writeHead(400,{'Content-Type':'text/html; charset=utf-8'});res.end('<!DOCTYPE html>'+'<html lang="ja"><body>'+'<h1>ログアウトしました</h1>'+'<a href="/posts">ログイン</a>'+'</body></html>');}
- (ブラウザを変える)
追記
教材にこのエラーについての解決方法が追記されていた。
解決方法は、ステータスコードを302に書き換えること。
https://developer.mozilla.org/ja/docs/Web/HTTP/Status
より、
302 Found
このレスポンスコードは、リクエストされたリソースの URI が一時的に変更されたことを示します。