全网整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:400-708-3566

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

前言

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


相关文章: 如何在阿里云部署织梦网站?  黑客如何利用漏洞与弱口令入侵网站服务器?  建站主机数据库如何配置才能提升网站性能?  如何规划企业建站流程的关键步骤?  网站制作大概要多少钱一个,做一个平台网站大概多少钱?  在线制作视频网站免费,都有哪些好的动漫网站?  如何高效利用亚马逊云主机搭建企业网站?  太原网站制作公司有哪些,网约车营运证查询官网?  建站之星导航菜单设置与功能模块配置全攻略  c# Task.ConfigureAwait(true) 在什么场景下是必须的  建站之星安装需要哪些步骤及注意事项?  ui设计制作网站有哪些,手机UI设计网址吗?  建站为何优先选择香港服务器?  网站制作的软件有哪些,制作微信公众号除了秀米还有哪些比较好用的平台?  TestNG的testng.xml配置文件怎么写  香港服务器选型指南:免备案配置与高效建站方案解析  建站之星备案是否影响网站上线时间?  桂林网站制作公司有哪些,桂林马拉松怎么报名?  道歉网站制作流程,世纪佳缘致歉小吴事件,相亲网站身份信息伪造该如何稽查?  浅析上传头像示例及其注意事项  如何快速搭建二级域名独立网站?  ppt制作免费网站有哪些,ppt模板免费下载网站?  建站之星与建站宝盒如何选择最佳方案?  如何在阿里云虚拟主机上快速搭建个人网站?  上海网站制作开发公司,上海买房比较好的网站有哪些?  建站之星在线版空间:自助建站+智能模板一键生成方案  如何快速选择适合个人网站的云服务器配置?  南平网站制作公司,2025年南平市事业单位报名时间?  如何制作公司的网站链接,公司想做一个网站,一般需要花多少钱?  网站广告牌制作方法,街上的广告牌,横幅,用PS还是其他软件做的?  天河区网站制作公司,广州天河区如何办理身份证?需要什么资料有预约的网站吗?  建站主机是什么?如何选择适合的建站主机?  建站主机如何选?性能与价格怎样平衡?  如何在局域网内绑定自建网站域名?  为什么Go需要go mod文件_Go go mod文件作用说明  建站之星导航如何优化提升用户体验?  建站三合一如何选?哪家性价比更高?  Python如何创建带属性的XML节点  Java解压缩zip - 解压缩多个文件或文件夹实例  免费制作小说封面的网站有哪些,怎么接网站批量的封面单?  网站app免费制作软件,能免费看各大网站视频的手机app?  官网网站制作腾讯审核要多久,联想路由器newifi官网  如何用腾讯建站主机快速创建免费网站?  大连 网站制作,大连天途有线官网?  兔展官网 在线制作,怎样制作微信请帖?  制作表格网站有哪些,线上表格怎么弄?  建站之星客服服务时间及联系方式如何?  胶州企业网站制作公司,青岛石头网络科技有限公司怎么样?  建站之星如何开启自定义404页面避免用户流失?  活动邀请函制作网站有哪些,活动邀请函文案? 

您的项目需求

*请认真填写需求信息,我们会在24小时内与您取得联系。