生活随笔
收集整理的這篇文章主要介紹了
flask的ajax的csrf代码
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
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代码的全部內容,希望文章能夠幫你解決所遇到的問題。
如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。