注意:在查询语句的外面做判断的话 是先判断在查询var http=require('http'); var mysql=require('mysql'); var qs=require('querystring'); http.createServer(function(req,res){ res.writeHead(200,{'content-Type':'text/plain','Access-Control-Allow-Origin':'*'});//这个一定要有,响应头部必备 var postdata='';//json字符串 var query=''; //存接受并解析成对象的数据 var userName=''; var sex=''; var iphone=''; var passWord=''; var isExist=false; //判断用户名是否存在 req.on('data',function(data){ //console.log(data) <buff 72 74 85 ......> postdata+=data; //console.log(postdata) username=%14%14%14 & sex=%10%10 query=qs.parse(postdata); //console.log(query) 这是一个对象 {username:'林',iphone:'123485274567'} userName=query.userName; sex=query.sex; iphone=query.iphone; passWord=query.passWord; //console.log(userName,sex,iphone,passWord); }) var conn=mysql.createConnection({ host:'127.0.0.1', user:'root', password:'', port:'3306', database:'langjie' }) conn.connect(function(err){ if(err){ console.log('[query]-:'+err); return; } console.log('succeed') }) conn.query('select userName from login',function(err,rows){ //rows为一个大数组 数组里面是对象 [{},{},{}] for (var i=0;i<rows.lenth ;i++ ) { if(rows[i].userName==userName){isExist=true} } if(!isExist){ conn.query(`insert into login values (null,"${userName}","${sex}","${iphone}","${passWord}")`);// 这个判断要查询语句里面,不然有问题。两个查询语句一起先后执行有问题 var q = {'d':'succ'} //这个要转换成json 自己手写json在客户端浏览器里面console不出来 res.end(JSON.stringify(q)); console.log("改数据成功") }else{ var q = {'d':'fail'} res.end(JSON.stringify(q)); } }) }).listen('3000',function(){ console.log('server is running') })
自己发现的nodejs服务的问题--1查询语句的嵌套问题+接受的数据该怎么用
最新推荐文章于 2021-01-26 03:28:30 发布