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. 莫队 ---- CF 135D. Jeff and Removing Periods (等差数列预处理 + 莫队)
  2. opencv2安装报错no module named cv2
  3. 计算机集中器的原理图,集中器,集中器原理是什么?
  4. 【视频课】如何掌握好深度学习之视频分类与行为识别?这一门课足矣!
  5. Linux OOM 自动杀死进程(转)
  6. ajax 返回数据null,ajax post 返回的数据是null
  7. Angular单元测试遇到的错误消息:Uncaught Error - Cannot find module tslib
  8. 对于大型公司项目平台选择j2ee的几层认识
  9. 301、404、200、304、500HTTP状态
  10. mysql内置含糊_mySQL入门04 内置函数
  11. 充分掌握网络工作原理及底层实现 大家都做什么项目啊?
  12. Numpy Data type
  13. java写html的多选框,Selenium+java - 单选框及复选框处理
  14. 电脑连接电视方法详解_笔记本连接电视有哪些设置方法
  15. Altium_Designer如何快速寻找元件和封装
  16. 【钉钉-场景化能力包】阿里商旅助力费控报销
  17. Nifi从入门到精通(一)之 数据存储
  18. QT警告Slots named on_foo_bar are error prone
  19. SQL解决最多同时在线人数问题(同时视频观看人数,同时浏览人数,同时等车人数)
  20. 最简明扼要的 Systemd 教程,只需十分钟

热门文章

  1. 数据结构: 试用判定树的方法给出在中序线索化二叉树上: (1) 如何搜索指定结点的在中序下的后继。 (2) 如何搜索指定结点的在前序下的后继。(3) 如何搜索指定结点的在后序下的后继。
  2. 【PAT甲级 约会】1061 Dating (20 分) C++ 全部AC
  3. netty系列之:Event、Handler和Pipeline
  4. Spring Boot JPA中使用@Entity和@Table
  5. window10安装python2.7_Windows10-python2.7安
  6. python serial_Python代码爬取3000+ 上市公司的信息!能上市的都有这样一个特点
  7. 多线程基础-常用线程方法(三)
  8. Java对象在Java虚拟机的创建过程
  9. jQuery——clone()方法
  10. [leetcode] 5.最长回文子串