zoukankan      html  css  js  c++  java
  • Ajax技术使用补充

    Ajax技术使用补充

    一、Ajax发送数据的几种形式

    发送字符串或数字

     $.ajax({
                url:"/ajax_test.html/",
                type:'POST',
                data:{'v1':1,'v2':2},
           dataType:'JSON', success:function(arg){ console.log(arg); } })

    发送数组

    v=[1,2,3,4]

    加上traditional参数,可以发送数组,经常用在多选框。

     $.ajax({
                url:"/ajax_test.html/",
                type:'POST',
                data:{'list':v},
           dataType:'JSON', traditional:true, success:function(arg){ console.log(arg); } })

     

    发送字典

    dict={'k1':1,'k2':2}

    将字典转为字符串串进行发送

     $.ajax({
                url:"/ajax_test.html/",
                type:'POST',
                data:{'dict':JSON.stringify(dict)},
           dataType:'JSON',
                success:function(arg){
                    console.log(arg);
                }
            })
    

      

    关键参数解析:

    dataType:'JSON':服务端返回序列化的数据时,ajax自动进行反序列化。

    traditional:我们可以通过设置traditional 为true阻止深度序列化,然后序列化结果如下:

    list: [1,2,3,4]    =>   list:list=1&list=2&list=3&list=4

    二、示例

    HTML

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        {%load staticfiles%}
        <script src="{% static '/js/jquery/jquery-3.3.1.js' %}"></script>
        <title>Title</title>
    </head>
    <body>
    <select id="Click" multiple>
        <option value="老师1">1</option>
        <option value="老师2">2</option>
        <option value="老师3">3</option>
        <option value="老师4">4</option>
    </select>
        <br>
        <input type="submit" id="Btntest">
    <script>
         $(function(){
            bindEvent();
        });
        <!--#绑定函数-->
        function bindEvent(){
            $('#Btntest').click(function(){
                var v=$('#Click').val();
                console.log(v)
    
                $.ajax({
                url:"/ajax_test.html/",
                type:'POST',
                data:{'list':v},
                traditional:true,
                success:function(arg){
                    console.log(arg);
                }
            })
    
            }
            )}
    
    
    </script>
    </body>
    </html>
    

      

    视图函数:

    def ajax_test(request):
        value=request.POST.getlist('list')
        print(value)
        return render(request,"ajax_test.html")
    

     

    选择1,2,3 

  • 相关阅读:
    迷上了塔防游戏Desktop Tower Defense 1.5
    魔方成长路线
    排名进1000
    终于造完了863项目的预算
    利用supermemo背单词达到3000词条
    被Colorgraphic古老的Xentera多屏显卡折腾得不轻
    队式桥牌赛总结(20080503)
    在IIS上设置Gzip压缩设置(备忘)
    警惕使用WebClient.DownloadFile(string uri,string filePath)方法
    WebClient.UploadValues Post中文乱码的解决方法
  • 原文地址:https://www.cnblogs.com/-wenli/p/10476012.html
Copyright © 2011-2022 走看看