日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

flask的ajax的csrf代码

發(fā)布時(shí)間:2024/1/23 编程问答 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 flask的ajax的csrf代码 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

1、ajax前端代碼
Ajax本身是一門獨(dú)立的技術(shù),是實(shí)現(xiàn)前后端數(shù)據(jù)分離的一種措施,實(shí)現(xiàn)了局部請(qǐng)求,
所以ajax本身的代碼不會(huì)因?yàn)楹蠖丝蚣茏兓兓?#xff0c;變化的只有接口。以注冊(cè)的用戶 名重復(fù)作為校驗(yàn)。
ajax語(yǔ)法:
先根據(jù)id離焦或聚焦等事件觸發(fā)js,聲明路由和傳參,post請(qǐng)求要在傳遞的參數(shù)里添加“csrf_token:'{{csrf_token}}'”
然后寫ajax的固定語(yǔ)法

$.ajax({url:url,#指定路由type:"post,"#請(qǐng)求方式data:sendData,#post請(qǐng)求要傳遞的參數(shù),如果是get請(qǐng)求方式data為空。sucess:function(data){#如果請(qǐng)求成功注意success后是:......},error:function(error){console.log(error)#輸出錯(cuò)誤} }) <script>$("#username").blur(function () {var value = $("#username").val();var url = "/userValid/";var sendData={//post請(qǐng)求方式傳參"username":value,"csrf_token":'{{csrf_token()}}'};console.log(value);$.ajax({url: url,type: "post",data: sendData,//post請(qǐng)求方式傳參參數(shù),切記沒有引號(hào),是一個(gè)變量。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獲取參數(shù)方法為request.args.get(“username”)
post獲取參數(shù)方法為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獲取參數(shù)方法#data=request.args.get("username")#get獲取參數(shù)方法if data:user=User.query.filter_by(username=data).first()if user:result["code"]=400result["data"]="用戶名已經(jīng)存在"else:result["code"]=200result["data"]="用戶名未被注冊(cè),可以使用"else:result["code"]=400result["data"]="請(qǐng)求方法錯(cuò)誤"return jsonify(result)

總結(jié)

以上是生活随笔為你收集整理的flask的ajax的csrf代码的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。