前言
最近因为笔者后台使用的是flask框架接收和前端使用的是原生的JavaScript和jQuery的ajax发送,能力有限,在此仅写下我开发项目过程中所得,分享出来供大家参考学习,下面话不多说,跟着小编来一起看看详细的介绍:
一、flask中的json数据接收
1、利用flask的request.form.get()方法
Python后台部分代码
from flask import Flask
from flask import jsonify
from flask import request
import json
...
# 登录
@app.route("/flask/login", methods=['POST'])
def login():
data_ = request.form.get('data')
data = json.loads(data)
username = data['username']
password = data['password']
rem = False
if data['remember']:
rem = True
return jsonify({"login": Login.login(username, password, rem)}) # 返回布尔值
2、 利用flask的request.get_data()方法
Python后台代码
from flask import Flask
from flask import jsonify
from flask import request
import json
...
# 登录
@app.route("/flask/login", methods=['POST'])
def login():
data = request.get_data()
data = json.loads(data)
username = data['username']
password = data['password']
rem = False
if data['remember']:
rem = True
return jsonify({"login": Login.login(username, password, rem)}) # 返回布尔值
3、利用flask的request.get_json()方法
Python后台代码
from flask import Flask
from flask import jsonify
from flask import request
...
# 登录
@app.route("/flask/login", methods=['POST'])
def login():
data = request.get_json()
username = data['username']
password = data['password']
rem = False
if data['remember']:
rem = True
return jsonify({"login": Login.login(username, password, rem)}) # 返回布尔值
二、前端发送json数据
1、原生XMLHttp发送
function login() {
var username =document.getElementById("username").value;
var password = document.getElementById("password").value;
var remember =document.getElementById("remember").checked;
var xmlhttp;
if (window.XMLHttpRequest)
{
// IE7+, Firefox, Chrome, Opera, Safari 浏览器执行代码
xmlhttp=new XMLHttpRequest();
}
else
{
// IE6, IE5 浏览器执行代码
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.onreadystatechange=function()
{
if (xmlhttp.readyState===4 && xmlhttp.status===200)
{
...
}
};
xmlhttp.open("POST","/flask/login",true);
xmlhttp.setRequestHeader("Content-type","application/json");
// 后面这两部很重要,我看网上很多都是使用xmlhttp.send("username="+username+"&password="+"),这样接收还要解析一番感觉还是直接发送以下格式的好些
var data = {
"username": username
"password": password
"remember": remember
};
var data_json = JSON.stringify(data);
xmlhttp.send(data_json);
}
附:json数据解析
var text = xmlhttp.responseText;
// 通过eval() 方法将json格式的字符串转化为js对象,并进行解析获取内容
var result = eval("("+text+")");
if (result) {
} else {
alert("请输入正确的用户名和密码");
}
2、ajax发送
$(document).ready(function () {
var data = {
"username": "adamin",
"password": "123456789",
"remember": true
}
$.ajax({
url: "/flask/login",
type: "POST",
data: data,
success: function () {
}
})
})
总结
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流,谢谢大家对的支持
免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件!
如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
白云城资源网 Copyright www.dyhadc.com
暂无“关于前后端json数据的发送与接收详解”评论...
RTX 5090要首发 性能要翻倍!三星展示GDDR7显存
三星在GTC上展示了专为下一代游戏GPU设计的GDDR7内存。
首次推出的GDDR7内存模块密度为16GB,每个模块容量为2GB。其速度预设为32 Gbps(PAM3),但也可以降至28 Gbps,以提高产量和初始阶段的整体性能和成本效益。
据三星表示,GDDR7内存的能效将提高20%,同时工作电压仅为1.1V,低于标准的1.2V。通过采用更新的封装材料和优化的电路设计,使得在高速运行时的发热量降低,GDDR7的热阻比GDDR6降低了70%。
更新日志
2025年10月25日
2025年10月25日
- 小骆驼-《草原狼2(蓝光CD)》[原抓WAV+CUE]
- 群星《欢迎来到我身边 电影原声专辑》[320K/MP3][105.02MB]
- 群星《欢迎来到我身边 电影原声专辑》[FLAC/分轨][480.9MB]
- 雷婷《梦里蓝天HQⅡ》 2023头版限量编号低速原抓[WAV+CUE][463M]
- 群星《2024好听新歌42》AI调整音效【WAV分轨】
- 王思雨-《思念陪着鸿雁飞》WAV
- 王思雨《喜马拉雅HQ》头版限量编号[WAV+CUE]
- 李健《无时无刻》[WAV+CUE][590M]
- 陈奕迅《酝酿》[WAV分轨][502M]
- 卓依婷《化蝶》2CD[WAV+CUE][1.1G]
- 群星《吉他王(黑胶CD)》[WAV+CUE]
- 齐秦《穿乐(穿越)》[WAV+CUE]
- 发烧珍品《数位CD音响测试-动向效果(九)》【WAV+CUE】
- 邝美云《邝美云精装歌集》[DSF][1.6G]
- 吕方《爱一回伤一回》[WAV+CUE][454M]