Flask--使用ajax进行局部刷新(GET,POST方法)

本文介绍了如何使用Flask和Ajax实现网页的局部刷新。通过Ajax GET更新页面内的div元素,POST方法则用于提交表单数据,同时保持URL不变。在Flask的视图函数中配置相应的路由和处理函数,确保数据的正确接收和响应。Ajax POST提交时需避免使用button,以防误触发当前页面的POST请求。示例展示了如何处理POST数据并返回HTML,更新特定div的内容。
摘要由CSDN通过智能技术生成

      想实现网站只曝露index和login两个页面,让模板文件更为抽象、模块化,令其余url全部隐藏,使用ajax进行页面局部刷新即可实现。

1. ajax GET html:

<script type="text/javascript">
    function GETInWebRefresh(url) {
    
        $.ajax({
    
            type: "GET",
            url: url,
            dataType: "html",   // 期待后端返回数据的类型
            success: function (data) {
    //返回数据根据结果进行相应的处理
                $("#content").html(data);
            },
            error: function () {
    
                $("#content").html("获取数据失败!");
            }
        });
    }
</script>

可实现页面内局部刷新,获取html数据后,替换指定div,这里是令当前页面的id=content的div代码块刷新为指定的url返回的html代码块。

<a href="javascript:void(0);" onclick="GETInWebRefresh('/dataQuery/')"><i class="fa fa-table fa-fw"></i> Table</a>

在按钮中设置href="javascript:void(0);",保证url不会变动,使用onclick进行ajax调用,onclick="GETInWebRefresh('/dataQuery/')"指定获取的页面(在view中配置/dataQuery/的路由和函数)。

view文件配置路由和函数
@app.route('/dataQuery/', methods=['GET'])
def dataQuery():
    return render_template('dataQuery.html')

如果是需要提交表单等POST操作,则需要调整一些项目代码细节:

2. ajax POST html:

    <script type="text/javascript">
        function POSTInWebRefresh(url) {
    
            data = $('#form').serialize();  // 将id=form的表单数据序列化
            $.ajax({
    
                type: "POST",
                url: url,
                data: JSON.stringify(data), // 将data转化为字符串
                contentType: 'application/json; charset=UTF-8', // 指定contentType
                dataType: "html",  // 注意:这里是指希望服务端返回的数据类型
                success: function (data) {
     // 返回数据根据结果进行相应的处理
                    $("#table"
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值