我是参考了微信小程序通过 node 连接 mysql——方法,简要原理,及一些常见问题_微信小程序使用npm支持mysql-CSDN博客
这个博主的,但是由于用不习惯mysql我就想换成SqlServer的
然后我的
const express=require('express')
const bodyParser =require('body-parser')
const app=express()
const mysql = require('mssql')
const IPAddress='[192.168.44.1]'//因为这里是要链接远程数据库,ip 地址是 mysql 的地址!!本地就是 127.0.0.1,服务器上就自己找找看
const UserName='[ss]'
const PWD='[123456]'
const DBName='[yunfu]'
app.use(express.json())
app.use(bodyParser.json())
app.use(bodyParser.urlencoded({ extended: false }))
//这上面一段固定的,[] 的部分需要根据自己数据库的信息修改
//处理get请求。这里是一个 get 请求的方法演示,作用是查询 table1 表中的所有数据并返回。
app.get('/getUser',(req,res)=>{ //这里的是 get 方法 getUser,对应了刚才的页面发来的请求。就会执行这个方法。
//参数传入是在 req.body 对象里面。比如上面的语句是获取传入的 openid 变量,并且我们新定义一个叫 openid 的变量存储传入的 openid 变量
var connection=mysql.createConnection({
host:IPAddress,
port:1433, //端口号,mysql 固定3306
user:UserName,
password:PWD,
database:DBName
})//配置连接的属性
connection.connect();//尝试连接
connection.query("select * from yfb ",function(error,results,fields){//执行查找语句
if(error) console.log(error);//执行失败的话
res.json(results)
console.log(results)
})
connection.end();//断开连接
})
app.listen(3000,()=>{//这是一个监听端口,会输出监听到的信息。上面的 console.log 就会在这里输出
console.log('server running at http://'+IPAddress+':3000')
})
我的node server.js
server running at http://[192.168.44.1]:3000也是成功的,然后我通过在微信小程序的wxml页面加了一个按钮,然后绑定事件
cc(){
wx.request({
url: 'http://192.168.44.1:3000/getUser',
method: 'GET',
// data: {
//这里面是传入参数。比如我们要 select * from data where openid= 给定的 openid,就可以从这里传入
//},
success: function (res) {//成功获取到值,返回一个 res 对象。如果不知道 res 对象里面包含什么,可以先输出 res 对象看一下其中都包含什么
console.log(res);
},
fail: function () {//没有获取到值,说明这中间出问题了。
console.log("获取失败");
}
});
},结果是
person.js? [sm]:15 GET http://192.168.44.1:3000/getUser net::ERR_CONNECTION_REFUSED(env: Windows,mp,1.06.2401020; lib: 3.3.4)
cc @ person.js? [sm]:15
person.js? [sm]:25 获取失败,有谁能帮解决一下