zoukankan      html  css  js  c++  java
  • flask中使用ajax 处理前端请求,结果展示在同一页面,不点击页面不展示

    在同一页面点击按钮,后端处理后展示在同一页面,不点击隐藏该结果;与上一篇大同小异,需要在 html、flask、js微调

    效果展示:

    (未点击查询)

    (点击查询)

     html:

     1 <html>
     2 <head></head>
     3 <body>
     4 
     5 <div class="header">
     6 <h4>标题XXX</h4>
     7 </div> 
     8 <div class="body"> 
     9 <form class="form" method="post">
    10 <br class="form-a" /> 
    11 <div class="form-b"> 
    12 <label for="aaa">&nbsp;&nbsp;&nbsp;&nbsp;XXX:&nbsp;&nbsp; <input class="form-control1" type="a" id="a" name="a" maxlength="11" placeholder="请输入XXX" /> </label> 
    13 </div> 
    14 <div class="box"> 
    15 <label>&nbsp;XXXX:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</label> 
    16 <label class="radio"> <input type="radio" id="b" name="b" value="0" checked="" /><span>b1</span> </label> 
    17 <label class="radio"> <input type="radio" id="b" name="b" value="1" /><span>b2</span> </label> 
    18 </div> 
    19 <br /> 
    20 <div class="form">
    21  &nbsp;&nbsp;&nbsp;&nbsp;
    22 <button class="btn btn-primary" type="button" id="notify">查询 </button> 
    23 </div> 
    24 </form> 
    25 </div> 
    26 
    27 <div class="c" id="show2" style="display:none"> 
    28 <div class="header">
    29 <h4>结果:</h4>
    30 </div> 
    31 <div class="body" id="show3"> 
    32 </div> 
    33 </div>
    34 </body>
    35 </html>

    js:

     1 <script type="text/javascript" src="static/js/main.min.js"></script> //--static/ 这个目录自己定义
     2 <script type="text/javascript" src="static/js/jquery.min.js"></script>
     3 
     4 
     5 <script type="text/javascript">
     6 
     7 // 消息提示
     8     $('#notify').on('click', function () {
     9         // ajax
    10         var b = $("input[name='b']:checked").val();
    11         var a = $("input[name='a']").val();
    12         var data = {
    13             data: JSON.stringify({
    14                 'b': b,
    15                 'a': a
    16             }),
    17         }
    18 
    19         if (a.length = 0) {
    20             alert('XXXXX不能为空');
    21             return;
    22         }
    23         $.ajax({
    24             type: "POST",
    25             dataType: "json",
    26             url: "/test111",//调用后台test111方法
    27             data: data,
    28             success: function (result) {
    29                 console.log(result);
    30                 {
    31                     $('#show2').show() //此处展示
    32                     $("#show3").html(result)
    33 
    34                 }
    35             },
    36             error: function (result) {
    37                 console.log(result);//
    38                 {
    39                                     alert(result);
    40                 }
    41             }
    42         });
    43 
    44     })
    45 
    46 
    47 </script>


    flask:
     1 @app.route('/test111',methods=['GET','POST'])
     2 def test111():
     3     data = json.loads(request.form.get('data'))
     4     # print('data:',data)
     5     b = data['b']
     6     a = data['a']
     7     print (b)
     8     print (a)
     9     msg111 = aaa(a, b)#调用aaa方法
    10     # print(msg111)
    11     return jsonify(msg111)
    12 
    13 # aaa方法
    14 def aaa(a,b):
    15     s = '<div class="grid"><div class="c">{a}{b}&nbsp;</div></div>'.format(a=a,b=b)  //返回html格式
    16     return s
  • 相关阅读:
    转载:稳定性,鲁棒性和非脆弱性的精辟解读
    BZOJ 2806: [Ctsc2012]Cheat(单调队列优化dp+后缀自动机)
    CF 235C. Cyclical Quest(后缀自动机)
    BZOJ 5137: [Usaco2017 Dec]Standing Out from the Herd(后缀自动机)
    2019/2/28 考试记录
    后缀自动机的应用
    CF 452E. Three strings(后缀数组+并查集)
    BZOJ 2281: [Sdoi2011]黑白棋(dp+博弈论)
    CF 39E. What Has Dirichlet Got to Do with That?(记忆化搜索+博弈论)
    LUOGU P4783 【模板】矩阵求逆(高斯消元)
  • 原文地址:https://www.cnblogs.com/whycai/p/10929235.html
Copyright © 2011-2022 走看看