zoukankan      html  css  js  c++  java
  • Ajax 的基本使用

    Ajax简介

    • 一门异步的加载技术,局部刷新
    • 异步加载,可以在不重载整个网页的前提下,进行局部刷新
    • 分为原生和JQ两种

    JSON数据格式

    • Json对象转字符串: JSON.stringify()
    • 字符串转Json对象:JSON.parse()
    <script type="text/javascript">
        var obj = {"name": "JiYu", "age": "99"};
        //json数据 可读可写
        console.log(obj);
        console.log(typeof obj);
        console.log(obj.name);
        obj.name = "NianHua";
        console.log(obj);
    
        // json遍历
        for (var key in obj) {
            console.log(key + ":" + obj[key])
        }
    
        // json对象转字符串
        var obj_string = JSON.stringify(obj);
        console.log(obj_string);
        console.log(typeof obj_string);
    
        // 字符串对象转json:键值对的引号必须是双引号
        var obj_json = JSON.parse(obj_string);
        console.log(obj_json);
        console.log(typeof obj_json);
    </script>
    

    前后端数据交互

    • html文件
    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>前后端数据交互</title>
    </head>
    <body>
        <form action="/" method="post">
            用户名:<input type="text" placeholder="请输入用户名" name="user"><br>
            密&emsp;码:<input type="password" placeholder="请输入密码" name="pwd"><br>
            <input type="submit" value="提交"> <input type="reset" value="重置">
        </form>
    </body>
    </html>
    
    • py文件
    import tornado.ioloop
    import tornado.web
    
    
    class MainHandler(tornado.web.RequestHandler):
        def get(self):
            self.render("Demo.html")
        def post(self):
            user = self.get_argument("user")
            pwd = self.get_arguments("pwd")
            print("用户名:",user)
            print("密码:",pwd)
    
    
    if __name__ == "__main__":
        # 路由
        application = tornado.web.Application([
            (r"/", MainHandler),
        ])
        application.listen(8888)
        tornado.ioloop.IOLoop.current().start()
    

    Ajax局部刷新

    • 导入jquery
    • 使用方式
      • $.ajax({...})
      • $.get({...})
      • $.post({...})
    • html文件
    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Ajax局部刷新</title>
    </head>
    <body>
    
    <input type="text" name="a">+
    <input type="text" name="b">=
    <input type="text" name="c"><br>
    <button id="btn">计算</button>
    
    <script src="https://cdn.bootcss.com/jquery/3.4.1/jquery.js"></script>
    <script>
        // 获取元素
        var inp = $("input");
        var btn = $("#btn");
        btn.click(function () {
            // 获取元素值
            var a = inp.eq(0).val();
            var b = inp.eq(1).val();
            // 方法一:ajax
            $.ajax({
                //get、post不用写type
                'type': 'post',
                // 提交的地址
                'url': '/',
                // 传给后台的数据
                'data': {
                    'aaa': a,
                    'bbb': b
                },
                // 成功之后的回调函数
                'success': function (data1) {
                    res = data1['result'];
                    inp.eq(2).val(res);
                }
            })
            // 方法二:get
            // $.get({});
            // 方法三:post
            // $.post({});
        })
    </script>
    </body>
    </html>
    
    • py文件
    import tornado.ioloop
    import tornado.web
    
    
    class MainHandler(tornado.web.RequestHandler):
        def get(self):
            self.render("Demo.html")
    
        def post(self):
            # 根据键取前台传来的值
            a = int(self.get_argument('aaa'))
            b = int(self.get_argument('bbb'))
            result = a + b
            return_data = {'result':result}
            # 返回数据
            self.write(return_data)
    
    
    if __name__ == "__main__":
        # 路由
        application = tornado.web.Application([
            (r"/", MainHandler),
        ])
        application.listen(8888)
        tornado.ioloop.IOLoop.current().start()
    
    




  • 相关阅读:
    vue 中使用阿里iconfont彩色图标
    团队作业九
    团队作业八
    团队作业七
    第二篇
    第三篇
    第一篇
    beta冲刺计划安排
    团队作业六
    团队作业五
  • 原文地址:https://www.cnblogs.com/jiyu-hlzy/p/12051711.html
Copyright © 2011-2022 走看看