私の知見によれば、response.end()
はノードのapiドキュメントに従って、すべての応答の後に呼び出されるべきですhere。Node_s内でresponse.end()が動作していない
しかし、response.end()
と呼ぶと、ブラウザにhtmlファイルがロードされません。それはprintMe()
機能を実行する場合は、「が、これはエラーを持っている」のテキストがブラウザに表示されます、
var http=require('http');
var fs=require('fs');
http.createServer(creatingRequest).listen(8000);
console.log("connected to the server");
function printMe(response) {
response.writeHead(404,{"Context-Type":"text/plain"});
response.write("this has errors ");
response.end();
console.log("finished "+response.finished);//true if response ended
console.log("printMe");
}
function creatingRequest(request,response) {
if ((request.url=="/") && request.method=="GET")
{
response.writeHead(200,{"context-type":"text/html"});
fs.createReadStream("./index.html").pipe(response);
console.log("loading html");
response.end();
console.log("finished "+response.finished);//true if response ended
}
else
{
printMe(response);
}
}
しかし:ここ
は私のコードです。ここで
は私のindex.htmlです:
<!DOCTYPE html>
<html>
<head lang="en">
<meta charset="UTF-8">
<title></title>
</head>
<body>
Hi,this is my page
</body>
</html>
あなたも、あなたがページに書き込みたい場合は、あなたが 'response.send()' – Roljhon
@Roljhonを使用する必要があり、あなただけの接続を終了している、あなたの応答を送信していない:私は送ってきましたレスポンスは 'response.writeHead()'メソッドをhtmlファイルとして使用していますか? – Kalanka
あなたがそのようにしている場合、以下は問題を修正するでしょう – Roljhon