0

Node.js サーバー

var http = require("http");
http.createServer(function(request,response){
    console.log("client connected");
    response.writeHeader(200,{"Content-type": "text/html"}); 
    response.write("Hello ;-)");
    response.end();
}).listen(9090);

サーバー出力を ID "myDisplayField" の div にロードしようとしました。

$("#myDisplayField").load("http://localhost:9090");

(HTML ファイルはローカルの httpd にあります)

私が抱えている問題は、ノードサーバーが、彼が ajax (「クライアントが接続されました」) から要求を受け取ったことを示す可能性があることですが、「こんにちは ;-)」/サイトのコンテンツが期待どおりに #myDisplayField にロードされないことです。 .

apacheのようなWebサーバーを設定し、htdocsに「hello ;-)」でindex.htmlを設定すると、全体が正常に機能します。

私は何を間違っていますか?

4

1 に答える 1

0

コードを試してみたところ、localhost:9090 に移動すると、期待どおりに「hello」の本文が表示されます。

jquery の load() メソッドが、非常に単純な応答では提供されない他のデータ (ヘッダーの content-type など) を探している可能性があります。すべての http 応答を個別に構築する代わりに、express のような上位レベルのサーバーを使用する必要があります。

var express = require('express');
var app = express();

app.use(function(req, res, next) {
  res.send('Hello');
});

app.listen(9090);
于 2013-01-09T20:33:53.343 に答える