关于前后端json数据的发送与接收详解

发布时间 - 2026-01-11 02:33:47    点击率:

前言

最近因为笔者后台使用的是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 () {
   
  }
 })
 })

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流,谢谢大家对的支持


# 前后端数据交互  # json  # 后端接收json数据  # json前后端数据传输  # JAVA实现JSON后端向前端传递数据  # jQuery Ajax前后端使用JSON进行交互示例  # java web SpringMVC后端传json数据到前端页面实例代码  # 的是  # 布尔值  # 都是  # 我看  # 在此  # 请输入  # 很重要  # 这篇文章  # 谢谢大家  # 多说  # 转化为  # 两部  # 小编  # 开发项目  # 过程中  # 直接发送  # 网上  # 有疑问  # def  # POST 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: 北京网页设计制作网站有哪些,继续教育自动播放怎么设置?  晋江文学城电脑版官网 晋江文学城网页版直接进入  如何用景安虚拟主机手机版绑定域名建站?  做企业网站制作流程,企业网站制作基本流程有哪些?  实现点击下箭头变上箭头来回切换的两种方法【推荐】  JavaScript Ajax实现异步通信  Laravel如何操作JSON类型的数据库字段?(Eloquent示例)  百度输入法ai面板怎么关 百度输入法ai面板隐藏技巧  制作企业网站建设方案,怎样建设一个公司网站?  Python企业级消息系统教程_KafkaRabbitMQ高并发应用  为什么要用作用域操作符_php中访问类常量与静态属性的优势【解答】  如何在宝塔面板中修改默认建站目录?  利用python获取某年中每个月的第一天和最后一天  linux写shell需要注意的问题(必看)  PythonWeb开发入门教程_Flask快速构建Web应用  音响网站制作视频教程,隆霸音响官方网站?  javascript基本数据类型及类型检测常用方法小结  Laravel如何处理JSON字段的查询和更新_Laravel JSON列操作与查询技巧  Laravel怎么创建控制器Controller_Laravel路由绑定与控制器逻辑编写【指南】  如何在HTML表单中获取用户输入并用JavaScript动态控制复利计算循环  详解免费开源的.NET多类型文件解压缩组件SharpZipLib(.NET组件介绍之七)  如何快速生成凡客建站的专业级图册?  微信小程序制作网站有哪些,微信小程序需要做网站吗?  Laravel Eloquent模型如何创建_Laravel ORM基础之Model创建与使用教程  购物网站制作费用多少,开办网上购物网站,需要办理哪些手续?  Laravel中间件起什么作用_Laravel Middleware请求生命周期与自定义详解  香港服务器建站指南:外贸独立站搭建与跨境电商配置流程  Laravel辅助函数有哪些_Laravel Helpers常用助手函数大全  Laravel如何实现多级无限分类_Laravel递归模型关联与树状数据输出【方法】  如何制作公司的网站链接,公司想做一个网站,一般需要花多少钱?  高端建站三要素:定制模板、企业官网与响应式设计优化  Laravel如何实现用户密码重置功能?(完整流程代码)  悟空识字怎么关闭自动续费_悟空识字取消会员自动扣费步骤  Laravel如何安装Breeze扩展包_Laravel用户注册登录功能快速实现【流程】  Laravel怎么调用外部API_Laravel Http Client客户端使用  如何确认建站备案号应放置的具体位置?  如何在万网ECS上快速搭建专属网站?  Laravel项目怎么部署到Linux_Laravel Nginx配置详解  EditPlus中的正则表达式 实战(2)  潮流网站制作头像软件下载,适合母子的网名有哪些?  laravel怎么配置Redis作为缓存驱动_laravel Redis缓存配置教程  Laravel的契約(Contracts)是什么_深入理解Laravel Contracts与依赖倒置  简单实现Android文件上传  google浏览器怎么清理缓存_谷歌浏览器清除缓存加速详细步骤  Laravel如何使用Spatie Media Library_Laravel图片上传管理与缩略图生成【步骤】  如何确保西部建站助手FTP传输的安全性?  北京的网站制作公司有哪些,哪个视频网站最好?  Laravel如何保护应用免受CSRF攻击?(原理和示例)  如何在万网利用已有域名快速建站?  ChatGPT回答中断怎么办 引导AI继续输出完整内容的方法