今天研究了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
沒有最好,只有更好,付出不亞於任何人的努力!加油!