一、本地搭建HTTP服务器

1.使用Node.js在本地搭建HTTP服务器

1)下载安装Node.js

网址:https://nodejs.org/en
右边是长期维护版本,左边是尝鲜版,推荐下载长期维护版本

2)安装完成后本地创建文件夹,文件夹名字随便,我的文件夹名称是nodeMysqlDemo

3)打开命令行

搜索node关键字,用管理员身份打开node.js command prompt

4)进入D盘,进入刚创建的文件夹

5)依次输入如下命令

[1] 初始化项目,将会自动创建package.json配置文件

npm init -y

[2] 安装Express框架,用于快速创建HTTP服务器

npm install express --save

[3] 安装nodemon监控文件修改

npm install nodemon -g

[4] 安装mysql的软件包

npm install mysql --save

操作成功后文件夹里面会有这些文件

6)在该目录创建server.js文件

如果不会创建可以先创建server.txt文本文件,然后把后缀改成js即可

6)打开server.js文件,写如下服务器端代码并保存

const express=require('express')const bodyParser =require('body-parser')const app=express()const mysql = require('mysql')app.use(bodyParser.json())//处理post请求app.post('/',(req,res) => {console.log(req.body)res.json(req.body)})app.post('/show',(req,res)=>{console.log(req.body.name)const a=req.body.namevar connection=mysql.createConnection({host:'localhost',user:'数据库用户名',password:'数据库密码',database:'数据库名称'})connection.connect();connection.query("select * from tb_tags where f_tagID='"+a+"'",function(error,results,fields){if(error) throw console.error;res.json(results)console.log(results)})connection.end();})app.get('/',(req,res)=>{var connection = mysql.createConnection({host:'localhost',user:'数据库用户名',password:'数据库密码',database:'数据库名称'});connection.connect();//查找所有的人物名字返回给客户端。其实没必要(测试用的)connection.query('select * from tb_tags',function(error,results,fields){if(error) throw error;res.json(results)// console.log(results)})connection.end();})app.listen(3000,()=>{console.log('server running at http://127.0.0.1:3000')})

7)最后在命令行运行该文件,启动服务器

二、微信小程序获取本地数据库内容

1)小程序端数据获取部分代码

/** * 生命周期函数--监听页面加载 */onLoad(options) {var that = thiswx.request({url: 'http://127.0.0.1:3000/',success: function (res) {console.log(res.data)// that.setData({ names: res.data })}})},

2)关闭域名校验设置


对于正式上线的项目,小程序要求服务器域名必须在小程序管理后台中添加,域名必须经过ICP备案,且支持HTTPS和WSS协议,对于开发人员来说,为了方便学习,可以在微信开发者工具中关闭这些验证,从而利用本地服务器来测试网络功能。单击工具栏中的详情按钮,找到【不校验合法域名、web-view(业务域名)、TLS版本以及HTTPS证书】选项,勾选它即可。——–来自《微信小程序开发实战》一书。

3)运行程序,成功获取本地数据库数据


常见错误:
数据库没连接,提示Error: ER_NOT_SUPPORTED_AUTH_MODE: Client does not support authentication protocol
解决办法:https://blog.csdn.net/qq_34235767/article/details/127617282