2016-06-20 8 views
0

ローカルホスト3000上のユーザー入力の番号をlocalhost 8000に表示する必要があります。今は2つの異なるアプリケーション/ポートを作成しました。しかし、私は8000ポートに「得ることができません」を得ています。 たとえば、ユーザーがポート3000に移動し、テキストボックスに5を入力した場合次に、別のユーザーが8000に行き、5が入力されたことを確認する必要があります。別のローカルホストへのユーザー入力の取得

ノードのjs

var http = require('http'); 
var express= require('express') 
var fs = require('fs'); 
var util = require('util'); 
var app= express(); 
var app2=express(); 
var multer = require('multer'); 
var dgram= require('dgram'); 
var client= dgram.createSocket('udp4'); 
var bodyParser = require('body-parser') 
app.use(bodyParser.json());  // to support JSON-encoded bodies 
app.use(bodyParser.urlencoded({  // to support URL-encoded bodies 
    extended: true 
})); 

app.get('/', function(req, res){ 
    var html = fs.readFileSync('index2.html'); 
    res.writeHead(200, {'Content-Type': 'text/html'}); 
    res.end(html); 
}); 

app.post('/', function(req,res) { 
    res.send(req.body.number); 
}); 

app2.get('/', function(req, res){ 
    res.send(); 
}); 

app2.post('/', function(req, res){ 
    res.send(req.body.number); 
}); 

//Listening to computer's IP address 
app.listen(3000, "192.168.0.172"); 
app2.listen(8000, "192.168.0.172"); 
console.log('Listening at 192.168.0.172:3000') 

Htmlの

<html> 
    <head> 
    <title> 
     File Upload Example 
    </title> 
    </head> 
    <body> 
    <h1>Reading in Value</h1> 
    <form action="192.168.0.172:8000" method="post" enctype='multipart/form-data'> 
     <br/> 
     <label>Enter a Number</label> 
     <br/><br/> 
     <input type="text" name="number"> 
     <br/><br/> 
     <input type="submit" value="Submit" name="submit"> 
    </form> 
    </body> 
</html> 

答えて

0

あなたのAPP2にPOSTルート宣言していたため、エラーがスローされた "GETできません":8000、ないGETを。あなたのAPP2にあなたのHTMLフォームからの入力番号を表示するためには

app2.get('/', function(req, res){ 
    res.status(200).json({ping: 'pong'}); 
}); 

:8000、以下のように、あなたはbodyparserミドルウェアが必要になります。

const bodyParser = require('body-parser'); 

app2.use(bodyParser.json()); 
app2.use(bodyParser.urlencoded({ 
    extended: true 
})); 
app2.post('/', function(req, res) { 
    res.send(req.body.number); 
}); 
app2.listen(8000, '192.168.0.172'); 
+0

私は数がAPP2に表示し、入力され得るのですか。 8000? – lord

+0

上記のコードを更新しましたが、それでもエラーが発生しました。 – lord

+0

ブラウザから192.168.0.172:8000をテストしようとしているので、「取得できません」というエラーが表示されます。しかし、フォームが送信されると、それはPOSTクエリです。だからあなたはreq.bodyの入力を得ることができます。 –

関連する問題