新手跪求答案。。。nodejs的服务器没响应。按CTRL+C又可以了
发布于 8 年前 作者 heguangda 4767 次预览 最后一次回复是 8 年前 来自 问答
我最近在自学nodejs
自己写了一个前端页面通过ajax请求服务器,服务器收到信息后存到mysql 并把收到的信息打印出来
我发现有一个没有规律出现的问题,就是运行的好好的 忽然前端页面提交的信息后服务器没反应了,也不打印出来,但是按了ctrl+c后
又立马运行并打印出来收到的信息,,,求大神指教为什么啊
我是不是描述的有点混乱。。
14 回复
上代码。。。
@jxycbjhc
const http = require(‘http’); const querystring = require(‘querystring’) const db = require(’./db’); const url = require(’./url’);
var sql = ‘insert into table2 values(?,?)’; var getsql = ‘select * from table2’;
var server = http.createServer(function(req,res){ var reqdata = ‘’; switch(req.url){ case url.url.save: req.on(‘data’,function(chunk){ reqdata += chunk; console.log(reqdata); reqdata = querystring.parse(reqdata); console.log(reqdata.num); }); req.on(‘end’,function(){
});
server.listen(3000,function(err){ console.log(‘server is running’); });
function sqlend(res){
}
function getsqlend(res,rows){ var data = JSON.stringify(rows); res.writeHead(200,{ ‘contenType’:‘application/json’, ‘Access-Control-Allow-origin’:’*’ }); res.end(data);
}
function haderror(err,res){ console.log(err.code); res.end(err.code); }
刚学 代码可能有点乱
@jxycbjhc 这是服务器的代码。。.(’/db’)和(’./url’)分别是自己写的一个mysql数据引入和存储url的文件,,url 的代码是 const url = { save:’/save’, get:’/get’ }; module.exports.url = url;
./db的代码是
const mysql = require(‘mysql’);
const db={ host:‘localhost’, port:‘3306’, user:‘root’, password:‘1234’, database:‘fdatabase’ }
const dbconnection = mysql.createConnection({ host:db.host, port:db.prot, user:db.user, password:db.password, database:db.database });
dbconnection.connect();
module.exports.dbconnection = dbconnection;
好好格式化一下你的代码
你这个报错不也出来了吗。。。ER_NO_SUCH_TABLE
通过控制台打印我也遇到过这种问题,后来直接上了pm2就好了,想看打印直接pm2 log
但原因…是不是打印太多占用了太多的控制台缓冲区?
说另一个问题: reqdata = querystring.parse(reqdata); 应该放在’end’的回调中处理,这样reqdata才是真实的完整的数据
我没看代码…不过如果是windows系统的话…cmd或者powershell的快速编辑在设置里面关了试试…
同意楼上,快速编辑模式的时候,鼠标不小心点到cmd某个位置可能让正在运行的进程卡住
@lzszone 好的谢谢
@peasonlee 噢噢噢 我懂了 谢谢
原因找到啦 感谢各位,特别是楼下提供问题答案的两位,是因为不小心点到windows的CMD的文字导致的,怪不得是随机的,感谢感谢