python+ajax+mysql简单前后端数据库的搭建


前言

pycharm+hbuilderx+navicat


一、前端 hbuilderx

<script src="http://code.jquery.com/jquery-latest.js"></script>
<script>
	#页面加载时呈现的数据
	window.onload = function(){
			$.ajax({
				url:"http://localhost:8899/allinfor",
				type:"post",
				dataType:"json",
	 
				//data为要传递给后端的数据,使用JSON.stringify()转换为json格式
				data:JSON.stringify({
						allinfor:$("#allinfor").val()
					}),
				success:function (data){
					#获取到后端返回的数据
					console.log(data)
					console.log(data.allinfor.length)
					
					#数据处理 
					var tr 
					for (var i=0;i<=data.allinfor.length;i++){
						for(var y=1;y<=13;y++){
							// console.log(data.allinfor[i][y])
							tr =tr + "<td>"+data.allinfor[i][y]+"</td>";
							
						}
						$(".tab3").append('<tr id="tab">'+tr+'</tr>');
						tr = ''
					}
	
				},
				error:function (){
					alert("失败")
					console.log("***********")
				}
			})
		}
</script>

二、后端 python

import json
from flask import *
from flask import Flask, request, jsonify, make_response
import pymysql

app = Flask('__name__')

@app.after_request
def cors(environ):
    environ.headers['Access-Control-Allow-Origin']='*'
    environ.headers['Access-Control-Allow-Method']='*'
    environ.headers['Access-Control-Allow-Headers']='x-requested-with,content-type'
    return environ

#获取数据库里的信息 传递到前端
@app.route('/allinfor',methods = ['POST'])
def allinfor():
	#获取前端发给的信息
	data =request.get_data()
    json_data = json.loads(data)
    print(json_data)
    a = list(dict.values(json_data))
		
    #数据库获取到信息
    conn = pymysql.Connection(host = 'localhost',user = 'root', password = '152800' ,port = 3306 ,database ='tw')
    cursor = conn.cursor()
    sql = "select * from tw_sql "
    cursor.execute(sql)
    conn.commit()
    a = cursor.fetchall()
	
	#处理后的信息返回给前端
	pp =[]
    info = dict()
    for i in a:
        i = list(i)
        pp.append(i)
    #字典的形式返回
    info['allinfor'] = pp

    return jsonify(info)



if __name__ == '__main__':
    app.run(port=8899)


三、数据库

要保证打开着 !
数据库连接的代码 后端里面写过的

conn = pymysql.Connection(host = 'localhost',user = 'root', password = '152800' ,port = 3306 ,database ='tw')
cursor = conn.cursor()
sql = "select * from tw_sql "
cursor.execute(sql)
conn.commit()

总结

  • 0
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论
搭建聊天功能需要以下步骤: 1. 安装 Flask 和 MySQL 首先,需要安装 Flask 和 MySQL,可以使用 pip 命令进行安装: ``` pip install Flask pip install mysql-connector-python ``` 2. 创建数据库 使用 MySQL 创建一个名为 chat 的数据库,然后创建 messages 表,用于存储聊天记录: ```sql CREATE DATABASE chat; USE chat; CREATE TABLE messages ( id INT AUTO_INCREMENT PRIMARY KEY, sender VARCHAR(255) NOT NULL, receiver VARCHAR(255) NOT NULL, message TEXT NOT NULL, timestamp TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ); ``` 3. 编写 Flask 应用程序 创建一个名为 app.py 的 Python 文件,编写以下代码: ```python from flask import Flask, render_template, request import mysql.connector app = Flask(__name__) db = mysql.connector.connect( host="localhost", user="root", password="", database="chat" ) @app.route("/") def index(): return render_template("index.html") @app.route("/send_message", methods=["POST"]) def send_message(): sender = request.form["sender"] receiver = request.form["receiver"] message = request.form["message"] cursor = db.cursor() cursor.execute("INSERT INTO messages (sender, receiver, message) VALUES (%s, %s, %s)", (sender, receiver, message)) db.commit() return "" @app.route("/get_messages") def get_messages(): sender = request.args.get("sender") receiver = request.args.get("receiver") cursor = db.cursor() cursor.execute("SELECT * FROM messages WHERE sender = %s AND receiver = %s OR sender = %s AND receiver = %s ORDER BY timestamp ASC", (sender, receiver, receiver, sender)) messages = cursor.fetchall() return {"messages": messages} if __name__ == "__main__": app.run(debug=True) ``` 4. 编写 HTML 和 JavaScript 创建一个名为 index.html 的文件,编写以下代码: ```html <!DOCTYPE html> <html> <head> <title>Chat</title> <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script> </head> <body> <h1>Chat</h1> <form> <label>Sender:</label> <input type="text" id="sender"><br> <label>Receiver:</label> <input type="text" id="receiver"><br> <label>Message:</label> <input type="text" id="message"><br> <button type="button" onclick="send_message()">Send</button> </form> <div id="messages"></div> <script> function send_message() { var sender = $("#sender").val(); var receiver = $("#receiver").val(); var message = $("#message").val(); $.post("/send_message", {"sender": sender, "receiver": receiver, "message": message}, function() { $("#message").val(""); }); } setInterval(function() { var sender = $("#sender").val(); var receiver = $("#receiver").val(); $.get("/get_messages", {"sender": sender, "receiver": receiver}, function(response) { var messages = response["messages"]; var html = ""; for (var i = 0; i < messages.length; i++) { var message = messages[i]; html += "<p>" + message[1] + ": " + message[3] + "</p>"; } $("#messages").html(html); }); }, 1000); </script> </body> </html> ``` 这个 HTML 文件包含一个表单,用于发送消息,以及一个 DIV,用于显示消息。JavaScript 代码使用 jQuery 发送 POST 请求以及定时 GET 请求,更新消息列表。 5. 运行应用程序 在终端中运行以下命令启动 Flask 应用程序: ``` python app.py ``` 在浏览器中访问 http://localhost:5000,即可看到聊天界面。在 Sender 和 Receiver 输入框中输入用户名,然后在 Message 输入框中输入消息,点击 Send 按钮即可发送消息。所有的消息将会存储到 MySQL 数据库中,并且在聊天界面实时显示。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

!小白菜!y

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值