节点服务器不响应请求

时间:2016-12-30 15:12:30

标签: node.js server postman

我有一个简单的节点服务器,它一直在运行并顺利处理请求,直到我回家度假。现在,它似乎正在加载,但不响应POST / GET请求。我的意思是,当我启动我的服务器时(通过调用节点app.js ),控制台打印出服务器正在侦听特定端口,当我访问http://localhost:8000/时,我看"你好"作为回应。但是,当我尝试通过Postman或通过XMLHTTPRequest向我的服务器发出请求时(在移动位置之前工作顺利的事情),我收到错误。

我的代码有问题吗?家里的wifi和连接是否可能与我的工作区不同?

请参阅下面我服务器中的重要代码:

var express = require('express');
var app = express();
var bodyParser = require('body-parser');

app.use(bodyParser.json());
app.use(bodyParser.urlencoded({
  extended: true
}));

app.get('/', function(req,res){
    res.send("hello");
})

app.listen(8000, function () {
   console.log('App listening on port 8000!');
});
非常感谢你!

1 个答案:

答案 0 :(得分:0)

我不知道你得到了什么错误(知道这一点很重要)但代码很好。它起作用并返回正确的响应。参见:

$ curl -v http://localhost:8000/
* Hostname was NOT found in DNS cache
*   Trying 127.0.0.1...
* Connected to localhost (127.0.0.1) port 8000 (#0)
> GET / HTTP/1.1
> User-Agent: curl/7.35.0
> Host: localhost:8000
> Accept: */*
> 
< HTTP/1.1 200 OK
< X-Powered-By: Express
< Content-Type: text/html; charset=utf-8
< Content-Length: 5
< ETag: W/"5-XUFAKrxLKna5cZ2REBfFkg"
< Date: Fri, 30 Dec 2016 15:18:36 GMT
< Connection: keep-alive
< 
* Connection #0 to host localhost left intact
hello

我唯一看到的是它返回HTML的内容类型而不是纯文本,因此可能会出现问题。您可以将其更改为:

app.get('/', function(req,res){
    res.set('Content-Type', 'text/plain');
    res.send("hello");
});

拥有纯文本的内容类型。