Javascript 无法使用邮递员查询数据
我已经设置了一个Node.js服务器,并试图通过Postman查询数据(来自MySQL)Javascript 无法使用邮递员查询数据,javascript,mysql,node.js,postman,Javascript,Mysql,Node.js,Postman,我已经设置了一个Node.js服务器,并试图通过Postman查询数据(来自MySQL)Select*from table工作得非常好,但是当我通过req.body.fooNode.js读取输入时,会抛出一个错误: 无法读取未定义的属性“length” Server.js: var app = require('express')(); // Express App include var http = require('http').Server(app); // http server va
Select*from table
工作得非常好,但是当我通过req.body.foo
Node.js读取输入时,会抛出一个错误:
无法读取未定义的属性“length”
Server.js:
var app = require('express')(); // Express App include
var http = require('http').Server(app); // http server
var mysql = require('mysql'); // Mysql include
var bodyParser = require("body-parser"); // Body parser for fetch posted data
var connection = mysql.createConnection({ // Mysql Connection
host : 'localhost',
user : 'root',
password : 'mayur',
database : 'mayur',
});
app.use(bodyParser.urlencoded({ extended: true }));
app.use(bodyParser.json());
app.get('/',function(req,res){
connection.query("SELECT * from login where username= ?? ", req.body.username ,function(err, rows, fields){
if(rows.length != 0){
res.json(rows);
}else{
var data = 'No users Found..';
res.json(data);
}
});
});
app.listen(3030);
您必须在邮递员中选择x-www-form-urlencoded,因为您正在使用
req.body.username
访问用户名
将Key设置为username并将Value设置为有效值,一切正常。您可以共享您的邮递员部分吗?这一定是因为您选择了GET request。将其更改为POST请求,并将
app.get('/',function(req,res)
更改为app.POST('/',function(req,res)
Now localhost:3030表示无法获取/
尝试将if(rows.length!=0)
更改为if(rows)
噢,这很酷,但现在它说“找不到用户”即使表中有用户。无论我在键字段中输入什么,它都会显示相同的输出更改connection.query(“选择*从登录时用户名=?”,req.body.username,函数(err,rows,fields)
到connection.query(“选择*从登录时用户名=?”,[req.body.username],函数(错误、行、字段)