在快递获取请求中有一些问题

时间:2013-07-15 04:43:46

标签: node.js express postgresql-9.1

我使用node.js和postgresql创建了一个应用程序,根据请求的用户ID显示用户城市。如果我在浏览器中的(localhosthost:7070 / user / userId / city)中点击此URL,则表示使用快速获取请求我正在使用所请求的用户ID调用从数据库获取所请求的用户城市的方法。我得到正确的输出没有任何问题。但我正面临其他一些问题。

问题

首先点击localhost:7070 / user / 1 / city URL在浏览器中意味着它给出输出结果也显示在我的页面中。但是如果我点击localhost:7070 / user / 2 / city URL在浏览器中意味着我没有得到任何错误和任何输出,但我的页面总是加载。所以,如果我想为其他用户做这意味着我已经重新启动我的节点服务器。然后只有它工作。任何人都可以帮助我什么是确切的问题

这里我附上了我的代码......

server.js

var pg = require('pg'); 
var conString =require('./config');
var client = new pg.Client(conString);
var queryModule=require('./query');
var express=require('express');
var app=express();
app.use(express.static(__dirname + '/public'));
app.listen(7070);

console.log('Server started at port 7070.');
app.get('/user/:id/city',function(req, response){
    client.connect(function(err, result){
        if(!err){
            var userId=req.param('id');
            queryModule.findCityByUserId(client,userId,function(err,res){
                if(!err){
                    console.log('done');
                    response.send('Requested user city is '+res);
                    return;
                }
                console.log('Error while finding the city of the user ' + err);
            });
        } else {
            console.log('error while connecting client '+err);
        }
    });
 });

query.js

 function Query(){
 }

module.exports=Query;

Query.findCityByUserId = function(client, id, cb){
    client.query("SELECT city FROM userinfo WHERE id=" + id, function(err,res){
        if(err){
            return cb(err);
        }
        client.end();
        var row = res.rows['0'];
        console.log("row length: " + res.rows.length);
        Object.keys(row).forEach(function(key){
            cb(null, row['city']);
        });
    });
};

1 个答案:

答案 0 :(得分:-1)

我刚从节点开始。

问题可能在于您没有以res.end();

结束您的回复