我有一个简单的节点服务器,它一直在运行并顺利处理请求,直到我回家度假。现在,它似乎正在加载,但不响应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!');
});
非常感谢你!
答案 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");
});
拥有纯文本的内容类型。