在Flask工程中遇到的问题,首先是jquery无法使用,我就很蒙蔽
经过排查发现
#原始引入script的语句
#这个路径就是我存放JS文件的地方,但是路径没错 但就是不对
<script src="D:\project\untitled1\static\jquery-3.4.1.min.js"></script>
#改正后能使用jquery
<script src="{{url_for('static', filename='jquery-3.4.1.min.js')}}"></script>
关于Ajax的使用,首先得先了解一些jquery的知识
在使用FLask 框架时,我的有些元素是动态生成的,例如table表中从数据库中提取的数据
所以对于这些元素,建议使用 .delegate()来绑定
# $("父元素").delegate("子元素",“事件”)
$("tbody").delegate("button","click",
function(){
var btnurl = $(this).attr("name2");
var btntitle = $(this).attr("name");
var data = {"title":btntitle,"url":btnurl}
$.ajax({
url: '/delmes', // 目标URL
type: 'Post', // 请求方法
data:JSON.stringify(data),//转换json数据
success: function(data){
alert("收藏成功")
}
})
})
下面这个是解析由界面发来的请求
@app.route('/delmes',methods=['POST'])
def delmes():
if request.method == 'POST':
m = request.get_data()#获取字节流
s1 = str(m, encoding='utf-8')#转换成字符串
dic = json.loads(s1)#转换为字典
rev1 = dic['url']
rev2 = dic['title']
item = Usermes.query.filter_by(useid= ctx.name, useurl = rev1).first()
db.session.delete(item)
flag = db.session.commit()
return jsonify(flag)
else:
return "kkk"