NodeJS - 端口8080上没有请求响应

时间:2015-05-28 21:45:15

标签: node.js post

我在Nodejs中编写了一个小型服务器,它是一个在同一台机器上运行的更大的服务器。 "主人"服务器处理不同的请求然后这个"补充"服务器

"主人"服务器正在端口80上侦听"补充"服务器正在侦听端口8080。

如果我尝试访问"补充"像这样的服务器:

http://172.31.16.218:8080/

我确实收到了主页,但是当我尝试访问时:

http://172.31.16.218:8080/update_highscores

我收到错误"页面无法显示"

这是我的代码:

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

var app = express();
var connection = mysql.createConnection({
    host: '127.0.0.1',
    user: 'root',
    password: '12345678',
    database: 'project_eclipse',
    port: 3306 });

    connection.connect(function(err){
    if(!err) {
        console.log("Database is connected ... \n\n");  
    } else {
        console.log("Error connecting database ... \n\n");  
    }
    }); 


// instruct the app to use the `bodyParser()` middleware for all routes

app.use(bodyParser());
app.use(bodyParser.text());
app.use(express.static(__dirname + '/public'));

app.post('/update_highscores', function(request, response)
{

    var usr = 'user1';
    console.log('update_highscores searching for user:  ',usr);

    connection.query ('SELECT user_id FROM eclipse_users WHERE username=?', [ usr ], function(err, rows, fields) {

      if (!err)
      {
        response.send('got user id back');
      }
     else
     {
        console.log('Error while performing Query.');
        response.send('ERROR - server error was encountered - please try again later'); 
        connection.end();}
        });
});

app.listen(8080,"127.31.16.218");
console.log('Server running at http://127.31.16.218:8080/');

提前致谢。

1 个答案:

答案 0 :(得分:2)

如果您只是访问浏览器中的网址http://172.31.16.218:8080/update_highscores,那将是GET请求,而不是POST请求,因此您需要app.get()app.all()路由处理这个问题。您的app.post()路由只会捕获实际POST请求的请求。