AJAX 与 Python 后台通信

Ajax 简介

Ajax 即“Asynchronous Javascript And XML”(异步 JavaScript 和 XML),是指一种创建交互式网页应用的网页开发技术。

Ajax = 异步 JavaScript 和 XML(标准通用标记语言 的子集)。

Ajax 是一种用于创建快速动态网页的技术。

Ajax 是一种在无需重新加载整个网页的情况下,能够更新部分网页的技术。 [1] 

通过在后台与服务器进行少量数据交换,Ajax 可以使网页实现异步更新。这意味着可以在不重新加载整个网页的情况下,对网页的某部分进行更新。

传统的网页(不使用 Ajax)如果需要更新内容,必须重载整个网页页面。

 

与python后台案例

HTML 代码

复制代码
<style>
        #big_div {
            display: none;
            background: #e4b9b9;
            position: absolute;
            width: 30%;
            height: 30%;
            top: 50%;
            left: 50%;
            transform: translate(-50%, -50%);
            -moz-box-shadow: 10px 10px 50px #909090;
            -webkit-box-shadow: 10px 10px 50px #909090;
            box-shadow: 10px 10px 50px #909090;
            border-radius: 5px;
        }

</style>



<div class="container">

    <!-- 1st section -->
    <section class="row tm-section">
        <div class="col-sm-12 col-md-12 col-lg-6 col-xl-6 p-0">
            <div class="tm-flex-center p-5 tm-bg-color-primary tm-section-min-h">
                <h1 id="my_time" class="tm-text-color-white tm-site-name" style="font-size: 30px">ESchool 树洞 一路有你</h1>
            </div>
        </div>
        <div class="col-sm-12 col-md-12 col-lg-6 col-xl-6">
            <div class="tm-flex-center p-5">
                <q id="my_text" class="tm-quote tm-text-color-gray">
            啦啦啦啦啦
</q> </div> </div> </section> <audio src="../static/music/shudong.mp3" autoplay loop controls>抱歉,背景音乐暂时不能播放···</audio> </div>
复制代码

JavaScript 代码

复制代码
var div = document.getElementById("big_div");
var will_put = document.getElementById("will_put");
var put_text = document.getElementById("put");
var mytext = document.getElementById("mytext");
document.getElementById("btn_close").onclick = function () {
    div.style.display = "none";
};

will_put.onclick = function () {
    div.style.display = "block";
}

put_text.onclick = function () {
    function put_data() {

        var xhr = new XMLHttpRequest();
        xhr.open('GET', '/put_shudong.html?txt=' + mytext.value, true);
        xhr.onreadystatechange = function () {
            if (xhr.readyState == 4 && xhr.status == 200) {
                change_data(xhr.responseText);
            }
        };
        xhr.send();
    };
    put_data();
    mytext.value=""
    div.style.display = "none";
}
复制代码

 中间弹窗案例:

 html 代码

复制代码
<style>
        #big_div {
            display: none;
            background: #e4b9b9;
            position: absolute;
            width: 30%;
            height: 30%;
            top: 50%;
            left: 50%;
            transform: translate(-50%, -50%);
            -moz-box-shadow: 10px 10px 50px #909090;
            -webkit-box-shadow: 10px 10px 50px #909090;
            box-shadow: 10px 10px 50px #909090;
            border-radius: 5px;
        }

        #mytext {
            width: 100%;
            height: 60%;
            line-height: 30px;
            font-size: 25px;
            word-wrap: break-word;
        }

        #put {
            margin: 5px;
        }
</style>


<div id="big_div">
    <p style="text-align: right">
        <span style="color: #8c8c8c;font-size: 15px">©ESchool 树洞 感恩,一路有你 </span>
        <button id="btn_close" style="background: none;border:none;">关闭</button>
    </p>
    <input id="mytext" maxlength="230" type="text" placeholder="说点儿什么吧,这里没人认识你···">
    <button id="put">发布树洞</button>
</div>
复制代码

 js 代码

复制代码
var div = document.getElementById("big_div");
var will_put = document.getElementById("will_put");
var put_text = document.getElementById("put");
var mytext = document.getElementById("mytext");
document.getElementById("btn_close").onclick = function () {
    div.style.display = "none";
};

will_put.onclick = function () {
    div.style.display = "block";
}

put_text.onclick = function () {
    function put_data() {

        var xhr = new XMLHttpRequest();
        xhr.open('GET', '/put_shudong.html?txt=' + mytext.value, true);
        xhr.onreadystatechange = function () {
            if (xhr.readyState == 4 && xhr.status == 200) {
                change_data(xhr.responseText);
            }
        };
        xhr.send();
    };
    put_data();
    mytext.value=""
    div.style.display = "none";
}
复制代码

 

posted @   叫我+V  阅读(526)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
阅读排行:
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 零经验选手,Compose 一天开发一款小游戏!
· 一起来玩mcp_server_sqlite,让AI帮你做增删改查!!
点击右上角即可分享
微信分享提示