2016-12-30 20 views
0

休日のために帰宅するまでは、実行していて簡単に要求を処理していた単純なノードサーバーがあります。今、ロードされているように見えますが、POST/GETリクエストには応答しません。これは私がサーバを起動したとき(ノードapp.js)、コンソールはサーバが特定のポートでリッスンしていることを表示し、http://localhost:8000/にアクセスしたときに応答が「hello」と表示されます。しかし、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を実行しています。 しかし、私のonreadystatechange関数でリクエストのステータスを出力すると、0が返ってきます。別のstackoverflowの質問(http://stackoverflow.com/questions/872206/http-status-code-0-what-dis-mean-in-ms-xmlhttp)は、このエラーの考えられる理由を次のように示しています。 違法クロスソース要求(CORSを参照) ファイアウォールブロックまたはフィルタリング 要求自体がコードでキャンセルされました... 作業を続行するにはどうすればよいですか? – vchen04

+0

あなたはどのようなエラーが発生しているのか、そしてクライアントの呼び出しコードは何かを正確に確認する必要があります。あなたが場所を変更したので、これはネットワークアクセスの問題からブラウザの起源の問題まで、他のもののホスト全体にまで及ぶ可能性があります。あなたは私たちにいくつかの手がかりを与えて、あなたが始めると感じるEXACTエラーを見る必要があります。 – 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"); 
}); 

プレーンテキストのコンテンツタイプを使用するには、次のようにします。

関連する問題