1、ajax前端代码
Ajax本身是一门独立的技术,是实现前后端数据分离的一种措施,实现了局部请求,
所以ajax本身的代码不会因为后端框架变化而变化,变化的只有接口。以注册的用户 名重复作为校验。
ajax语法:
先根据id离焦或聚焦等事件触发js,声明路由和传参,post请求要在传递的参数里添加“csrf_token:'{{csrf_token}}'”
然后写ajax的固定语法

$.ajax({url:url,#指定路由type:"post,"#请求方式data:sendData,#post请求要传递的参数,如果是get请求方式data为空。sucess:function(data){#如果请求成功注意success后是:......},error:function(error){console.log(error)#输出错误}
})
<script>$("#username").blur(function () {var value = $("#username").val();var url = "/userValid/";var sendData={//post请求方式传参"username":value,"csrf_token":'{{csrf_token()}}'};console.log(value);$.ajax({url: url,type: "post",data: sendData,//post请求方式传参参数,切记没有引号,是一个变量。success: function (data) {if(data.code == 400){$("#submit").attr("disabled",true)}else{$("#submit").attr("disabled",false)}$("#errorMessage").text(data.data);console.log(data)},error: function (error) {console.log(error)}})})
</script>

2、视图代码
注意get获取参数方法为request.args.get(“username”)
post获取参数方法为request.form.get(“username”)

from flask import render_template, redirect  # redirect重定向
from student.main import app, session
from student.models import Students, Course, Teachers, User
from flask import request, jsonify
import hashlib
from student.forms import TeacherForm
from student.main import csrf
@app.route("/userValid/",methods=["GET","POST"])
def UserValid():result={"code":"","data":""}if  request.method=="POST":data=request.form.get("username")#post获取参数方法#data=request.args.get("username")#get获取参数方法if data:user=User.query.filter_by(username=data).first()if  user:result["code"]=400result["data"]="用户名已经存在"else:result["code"]=200result["data"]="用户名未被注册,可以使用"else:result["code"]=400result["data"]="请求方法错误"return jsonify(result)

flask的ajax的csrf代码相关推荐

  1. Web后端学习笔记 Flask(10)CSRF攻击原理

    CSRF(Cross Site Request Forgery,跨站域请求伪造)是一种网络的攻击方式,它在2007年曾被列为互联网20大安全隐患之一. CSRF攻击的原理: 网站是通过cookie实现 ...

  2. Flask and Ajax Post HTTP/1.1 400

    Flask and Ajax Post HTTP/1.1" 400 太感谢https://stackoverflow.com/了,作者真的和牛,能解决问题 一下是转载的,mark一下,为了帮 ...

  3. 教你如何使用flask实现ajax数据入库

    本文分享自华为云社区<[首发]flask 实现ajax 数据入库,并掌握文件上传>,作者:梦想橡皮擦. flask 实现ajax 数据入库 在正式编写前需要了解一下如何在 python 函 ...

  4. Flask使用ajax进行前后端交互

    ajax前后端交互的使用已经非常普及了, 这种数据交互方式比表单提交数据带给用户的使用体验更好一些.同时,利用ajax交互时数据传输一般使用json,我们可以很方便的管理我们所需要的数据.只需要定义好 ...

  5. csrf攻击与防护—2用flask简单演示防范csrf攻击之referer

    接上篇 csrf攻击与防护-1用flask简单演示csrf攻击 以下是根据referer字段防止csrf攻击的新代码: bank.py import uuid from flask import re ...

  6. flask加ajax实现web微信

    引言 web微信 创建二维码 模拟登录 获取验证信息 展示用户信息 获取全部用户信息 总结 引言 本篇内容为通过flask加ajax完成对web微信的模拟登录,直到获取到完整信息, web微信 web ...

  7. django ajax请求 csrf验证失败

    如何解决django ajax请求 csrf验证失败的问题: 原文链接:http://stackoverflow.com/questions/5100539/django-csrf-check-fai ...

  8. flask 和 ajax 实例

    flask 和 ajax 实例 项目结构: test.py from flask import Flask, render_template, request app = Flask(__name__ ...

  9. django+jquery ajax post csrf 配置

    2019独角兽企业重金招聘Python工程师标准>>> django+jquery ajax post csrf 配置: <body> {% csrf_token %} ...

最新文章

  1. JavaScript 技术篇 - js在一个元素节点下包含多个text文本情况下的指定文本提取方法
  2. ffmpeg源码分析四:transcode_step函数 (转4)
  3. 一日一技:Ocelot网关使用IdentityServer4认证
  4. 为什么Docker对初创企业有意义
  5. Spring Boot修改添加界面二合一
  6. aswing学习笔记4-通过调用面板中的按钮实现主界面动态切换皮肤的问题!
  7. Java抽象类/接口
  8. 混迹职场,你的领导也是你的资源
  9. android 设置editext只能输入数字
  10. 1949-2017闰年 c语言,C语言编写方案-万年历选编.doc
  11. 汇编实验五 编写、调试具有多个段的程序
  12. ansys中模态扩展是什么意思_ANSYS模态分析教程与实例讲解.ppt
  13. 服务器路由器无线ap,TP-Link TL-WR841N路由器无线AP设置方法
  14. X书app数美-sid分析
  15. win10怎么录屏?windows自带录屏功能怎么用
  16. Java 常用工具类 - 校验身份证 IdCardUtils
  17. 可以一键去除水印的工具哪个好
  18. IBM WebShere Portal主题与皮肤开发
  19. 弗洛伊德与他的精神分析学
  20. JAVA实现简单“伪植物大战僵尸“游戏

热门文章

  1. C# 委托+事件的例子:①温度报警②计算器
  2. AI数学基础之:确定图灵机和非确定图灵机
  3. java中有界队列的饱和策略(reject policy)
  4. Spring Boot Starters介绍
  5. lombok常用注解整理
  6. hadoop2.6.0安装详细步骤
  7. JS —— 存取器属性get()和set()
  8. jQuery事件3——trigger触发事件
  9. 【双100%解法】剑指 Offer 21. 调整数组顺序使奇数位于偶数前面
  10. python分词和词频统计