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 的请求(“客户端已连接”),但是“Hello ;-)”/站点内容没有按预期加载到 #myDisplayField .

如果我设置一个像 Apache 这样的网络服务器并在 htdocs 中放置一个带有“Hello ;-)”的 index.html,那么整个事情就很好了。

我究竟做错了什么?

4

1 回答 1

0

我刚刚尝试了您的代码,然后导航到 localhost:9090 会按预期显示“hello”正文。

可能是 jquery 的 load() 方法查找其他数据 - 例如,标题中的内容类型 - 您非常简单的响应没有提供。您应该使用更高级别的服务器,例如 express,而不是单独构建每个 http 响应:

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 回答