2016-12-30 6 views
0

У меня есть простой сервер узлов, который работал и обрабатывал запросы плавно, пока я не вернулся домой для праздников. Теперь он загружается, но не отвечает на запросы POST/GET. Под этим я подразумеваю, что когда я запускаю свой сервер (путем вызова узла app.js), консоль печатает, что сервер прослушивает конкретный порт, а когда я нахожусь http://localhost:8000/, я вижу «привет» в ответ. Однако, когда я пытаюсь сделать запросы на свой сервер через Postman или через XMLHTTPRequest (все, что работало гладко до того, как я переместил адреса), я получаю сообщение об ошибке.сервер узла не отвечает на запросы

С кодом нет в коде? Возможно ли, что мой Wi-Fi и подключение дома отличаются от моего рабочего пространства?

Смотрите важный код в моем сервере ниже:

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!'); 
}); 

большое спасибо!

+3

какая ошибка вы получаете? вы используете Postman на том же хосте, что и сервер узлов? – Joe

+0

Да, я запускаю Postman на том же хосте, что и сервер узлов. Тем не менее, я получаю 0 при печати статуса моего запроса в моей функции onreadystatechange. В другом вопросе stackoverflow (http://stackoverflow.com/questions/872206/http-status-code-0-what-does-this-mean-in-ms-xmlhttp) перечислены возможные причины этой ошибки как: Незаконный (см. CORS) Брандмауэр-блок или фильтрация Сам запрос был отменен в коде ... Должен ли я вернуться на рабочее место, чтобы продолжить работу? – vchen04

+0

Нам нужно увидеть ТОЧНО, какую ошибку вы получите, и какой код вызова вашего клиента. Поскольку вы изменили местоположение, это может быть что угодно: от проблемы сетевого доступа до проблемы с перекрестным доступом браузера до целого ряда других вещей. Вам нужно дать нам несколько подсказок и увидеть, что ТОЧНАЯ ошибка, которую вы получите, станет началом. – jfriend00

ответ

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"); 
}); 

Чтобы иметь тип контента для обычного текста.

Смежные вопросы