1.首先要进行后端与前端的连接有get 和post请求

get请求是直接在网页上打出已将定义好的网址

if __name__ == '__main__':
app.run(host="localhost",port=8800)
host也可以写ip地址 2.在进行交互前需要提前引入 flask 模块 pip3 install Flask
详细代码
 import json
# 引入flask模块进行前后端交互
from flask import Flask
from flask import request
from flask import Response
# 通过装饰器创建实例化对象
app = Flask(__name__)
# 定义路由
@app.route("/")
# 路由对应的函数处理
def index():
# 响应数据
resp = Response("<h2>首页</h2>")
# 允许所有跨域访问
resp.headers["Access-Control-Allow-Origin"] = "*"
return resp
# 定义路由
@app.route("/course")
# 路由对应函数处理
def course():
resp = Response(json.dumps({
"name":"alex"
}))
# 允许跨区域访问 resp.headers["Access-Control-Allow-Origin"] = "*"
return resp
# 路由对应的函数处理 这里改为post
@app.route("/zq",methods=["post",])
def zq():
# 打印出前端的value
print(request.form.get("name"))
with open("user.json","r") as f:
# 通过读取文件用json
data = json.loads(f.read())
# data添加name为key 内容为value的值
data.append({"name":request.form.get("name")})
with open("user.json", 'w')as f:
# 将data 添加的数据写到user.json文档中
f.write(json.dumps(data))
# 将data打印到前端
resp = Response(json.dumps(data))
resp.headers["Access-Control-Allow-Origin"] = "*"
return resp if __name__ == '__main__':
app.run(host="localhost",port=8800)

后端

 <!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
</head>
<body>
<div class="user">
<input type="text" name="user">
<input type="button" value="提交">
</div>
<script SRC="jquery.js"></script>
<script>
/* $.ajax({
url: "http://localhost:8800/course",
type: "get",
//这里需要声明dataType 不需要转换json就是字典,
// dataType:"json",
success: function (data) {
// console.log(data);
//因为server 是通过json传说那个字典的形式,传出来的是一串字符串,需要解开
var a = JSON.parse(data);
console.log(a);
//这是转换成字符串形式
var str_pretty = JSON.stringify(a);
console.log(str_pretty) },
error: function () { }
});*/
$("input[type=button]").click(function () {
//通过alex进行post请求
$.ajax({
url:"http://127.0.0.1:8800/zq",
type:"post",
data:{
name:$("input[type=text]").val()
},
success:function (data) {
console.log(data);
},
error:function () { }
})
}) </script> </body>
</html>

前端ajax

2.post请求需要data数据

												

flask的客户端服务端的更多相关文章

  1. MVC验证10-到底用哪种方式实现客户端服务端双重异步验证

    原文:MVC验证10-到底用哪种方式实现客户端服务端双重异步验证 本篇将通过一个案例来体验使用MVC的Ajax.BeginForm或jQuery来实现异步提交,并在客户端和服务端双双获得验证.希望能梳 ...

  2. Eureka源码探索(一)-客户端服务端的启动和负载均衡

    1. Eureka源码探索(一)-客户端服务端的启动和负载均衡 1.1. 服务端 1.1.1. 找起始点 目前唯一知道的,就是启动Eureka服务需要添加注解@EnableEurekaServer,但 ...

  3. Python Flask 实现移动端应用接口(API)

    引言 目前,Web 应用已形成一种趋势:业务逻辑被越来越多地移到客户端,逐渐完善为一种称为富互联网应用(RIA,rich Internet application)的架构.在 RIA 中,服务器的主要 ...

  4. servlet jsp 客户端服务端跳转

    jsp 客户端:href jsp 服务端:forward servlet 客户端:response.sendredirect(); servlet 服务器:request.getRequestDisp ...

  5. Redis设计与实现-客户端服务端与事件

    事件 redis服务器是事件驱动的,事件分为文件事件与时间事件 文件事件是服务器通过套接字与客户端连接,两者之间的通信会产生相应的文件事件,服务器监听并处理这些事件完成网络操作: 时间事件是指redi ...

  6. 第四章:使用Proxy代理让客户端服务端分工合作。

    <基于1.8 Forge的Minecraft mod制作经验分享> 别被那个Proxy代理吓到,很简单的. 我们先讨论为什么要用Proxy代理: 像打开新的UI这种操作,比如打开一个背包, ...

  7. C# 客户端服务端的编写

    客户端的代码 class client { public void mehod() { TcpClient tcp = new TcpClient(); tcp.Connect(IPAddress.P ...

  8. Cxf 自动生成客户端服务端代码

    第一步: 下载apache-cxf安装包.并安装. 第二步: 配置cxf的环境变量. CXF_HOME = "CXF安装路径". 例如:F:\apache-cxf-2.1.2 在P ...

  9. HTTP协议简介详解 HTTP协议发展 原理 请求方法 响应状态码 请求头 请求首部 java模拟浏览器客户端服务端

    协议简介 协议,自然语言里面就是契约,也是双方或者多方经过协商达成的一致意见; 契约也即类似于合同,自然有甲方123...,乙方123...,哪些能做,哪些不能做; 通信协议,也即是双方通过网络通信必 ...

随机推荐

  1. [LeetCode] 895. Maximum Frequency Stack 最大频率栈

    Implement FreqStack, a class which simulates the operation of a stack-like data structure. FreqStack ...

  2. ROS-RouterOS KVM 安装 OpenWrt 旁路使用

    原文: http://bbs.routerclub.com/thread-104864-1-1.html 这里所讲是X86架构的RouteROS的KVM虚拟机,其实RouterOS的KVM很早就有,大 ...

  3. Scala函数式编程实现排序算法

    记得<Function Thinking>这本书中提到,现在的编程范式有两类,一类是“命令式编程”,另一类是“函数式编程”,现在我们最常使用的许多语言像c.c++.java都是命令式的,但 ...

  4. ConcurrentHashMap竟然也有死循环问题?

    前几天和朋友闲聊,说遇到了一个ConcurrentHashMap死循环问题,当时心里想这不科学呀?ConcurrentHashMap怎么还有死循环呢,毕竟它已经解决HashMap中rehash中死循环 ...

  5. pytorch 查看中间变量的梯度

    pytorch 为了节省显存,在反向传播的过程中只针对计算图中的叶子结点(leaf variable)保留了梯度值(gradient).但对于开发者来说,有时我们希望探测某些中间变量(intermed ...

  6. OpenCV像素操作和图形绘制

    像素操作 #include<iostream> #include<opencv2/opencv.hpp> using namespace std; using namespac ...

  7. 'try(A a = new A())' VS 'try finally'

    实现了AutoCloseable接口的类,可以在try的时候直接实例化对象.try代码块完成之后,自动调用close方法,相当于在finally里主动调用.但是出现异常后的流程和try finally ...

  8. HOT SUMMER 每天都是不一样,积极的去感受生活 C#关闭IE相应的窗口 .

    window.close(); System.Diagnostics.Process[]   myProcesses;     myProcesses   =   System.Diagnostics ...

  9. PyQt5笔记之标签

    标签 QLabel用于显示文本或图像.没有提供用户交互功能.标签的视觉外观可以通过各种方式进行配置,并且可以用于为另一个窗口小部件指定焦点助记键. 一个QLabel可以包含以下任意内容类型: 内容 设 ...

  10. 明解C语言 入门篇 第五章答案

    练习5-1 /* 依次把1.2.3.4.5 赋值给数组的每个元素并显示(使用for语句) */ #include <stdio.h> int main(void) { int i; ]; ...