flask+mysql数据库并与前台数据交互

今天研究了flask与mysql数据库的操作,没有使用sqlalchemy,使用了mysql的pymysql数据库操作的第三方类库

先来一波后台代码

 1 # -*- coding: utf-8 -*-
 2 from flask import Flask, jsonify, request
 3 import json
 4 from flask_cors import *
 5 import pymysql
 6 
 7 app = Flask(__name__)
 8 
 9 import contextlib
10 #定义上下文管理器,连接后自动关闭连接
11 @contextlib.contextmanager
12 def mysql(host='192.168.0.122', port=3306, user='root', passwd='我的数据库密码', db='text1',charset='utf8'):
13   conn = pymysql.connect(host=host, port=port, user=user, passwd=passwd, db=db, charset=charset)
14   cursor = conn.cursor(cursor=pymysql.cursors.DictCursor)
15   try:
16     yield cursor
17   finally:
18     conn.commit()
19     cursor.close()
20     conn.close()
21 
22 @app.route('/aaa', methods=['GET','POST'])
23 @cross_origin()
24 def aaa():
25     data= request.args.get("data")#获取前台json数据
26     temp = json.loads(data)#将json转为字典
27     id=temp['id']#获取相应的值
28     with mysql() as cursor:
29         print(cursor)
30         row_count = cursor.execute("select * from users where id=%s", (id))
31         row_1 = cursor.fetchone()
32         return "successCallback"+"("+json.dumps(row_1)+")"
33 
34     conn.commit()
35     cursor.close()
36     conn.close()
37 
38 if __name__ == "__main__":
39     app.run(
40     host = '0.0.0.0',
41     port = 7777,
42     debug = True
43 )

上面是后台 后台的坑主要是接收前台数据解析的问题

data= request.args.get("data")#获取前台json数据 
temp = json.loads(data)#将json转为字典
id=temp['id']#获取相应的值
注释说的很明白
 1 <script>
 2     $('#search').click(function () {
 3         var data = {
 4          data: JSON.stringify({"id": 1})
 5    }
 6         $.ajax({
 7             type: 'GET',
 8             url: 'http://192.168.0.132:7777/aaa',
 9             dataType: 'jsonp', //希望服务器返回json格式的数据
10             data:data,
11             jsonp: "callback",
12             jsonpCallback: "successCallback",
13             success: function (data) {
14                 console.log(data);
15             }
16 
17         });
18     });
19 </script>
 
 

前台代码中将获取的数据拼成json
没有最好,只有更好,付出不亚于任何人的努力!加油!

 

转载于:https://www.cnblogs.com/mzm5466/p/6868142.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值