2

私は node.js に非常に慣れていないので、これが悪い質問である場合は申し訳ありません。ここに単純な HTTP サーバーがあります。

var http = require('http');

http.createServer(function (request, response){

    response.writeHead(200, {"Content-Type":"text/html"});
//  response.write("<html><head><script type = 'text/javascript'>alert('hello');</script></head></html>");
    response.write("<html><head><script type = 'text/javascript' src = 'alerter.js'></script></head></html>");
    response.end();
}).listen(8000);

console.log("Server has started.");

alerter.js には次の 1 行が含まれています。

alert("hello");

コメントアウトされた行を適切に使用するとアラートが発生するのに、alerter.js を呼び出しても何も起こらないのはなぜですか?

4

2 に答える 2

4

Paul と Timothy が指摘したように、あなたの問題は、ブラウザーが外部参照を含む html を取得すると、サーバーに戻ってスクリプトが配信されることを期待して、alerter.js を要求することです。ただし、リクエストが何を求めているかに関係なく、サーバーは常に同じものを送信するため、ブラウザーはスクリプトを取得しません。

少なくとも、alerter.js のリクエストを処理するには、サーバーを変更する必要があります。現実的には、Connect の静的ファイル ハンドラーのようなものを使用してそれを行います。スクリプト、スタイルシート、画像などのすべてのアセットをディレクトリ (通常は "パブリック" と呼ばれます) に配置し、静的ハンドラーにそこからそれらを提供するように指示します。

于 2012-06-10T03:54:29.867 に答える
3

type 属性を終了する ' がありません。

于 2012-06-10T03:26:03.770 に答える