zoukankan      html  css  js  c++  java
  • 二十一. Django----ajax全部

    https://www.cnblogs.com/yuanchenqi/articles/7638956.html

    https://download.csdn.net/download/baobao267/10722491   Django之Form表单验证及Ajax验证方式汇总

    一. ajax--所有

     <!DOCTYPE html>
    <html>
      <head>
    
             {%load staticfiles%}
        <meta charset="UTF-8">
        <title>form组件</title>
        <!-- <script type="text/javascript" src="/static/webpage/js/jquery1.js" ></script> -->
         <!-- 引用静态的方式-->
        <script type="text/javascript" src="{%static 'webpage/js/jquery1.js'%}" ></script>  
        <style type="text/css">
       .btn{
               display: inline-block;
               padding: 5px,10px;
               background-color:coral;
               color: blue;
    
    
       }
        </style>
      </head>
    
       <body>
    
         <!-- <form method="post" action="/myapp/upload/" enctype="multipart/form-data" method="POST">{%csrf_token%}</form> -->
    
            <h1>ajax深入全套学习!!!</h1>
            <h3>ajax_GET请求</h3>
            <div>
                 <p> <a href="#" class="btn" onclick="AjaxSubmit1()">ajax_JQuery GET点我</a></p> 
                 <p> <a href="#" class="btn" onclick="AjaxSubmit2()">ajax_原生GET 点我</a> </p> 
            </div>
    
         <br/>
        
            <h3>ajax_POST请求</h3>
            <div>
                <!-- {%csrf_token%} -->
                 <p> <a href="#" class="btn" onclick="AjaxSubmit3()">ajax_JQuery POST点我</a></p>
                 <p> <a href="#" class="btn" onclick="AjaxSubmit4()">ajax_原生GET POST</a> </p> 
            </div>
    
           <br/>
    
           
            <div>
            <h3>学习iframe伪ajax!!</h3>
                    <p><input id="url" placeholder="请输入url"/>  </p>
                    <p><a onclick="Test();">查看</a>  </p>
                <p><iframe src="http://www.baidu.com" style="height:800px; 600px" id="iframe"></iframe> </p>
            </div>
           <br/>
        
          <h3>基于iframe +Form // 学习iframe伪ajax!!</h3>
          <iframe id="iframe" name="ifra"></iframe>
          <form action="/myapp/ajax_1/" method="POST" id="fm" target="ifra">
            <input name="root" value="11111">
           <input type="submit" value="提交了ifram">
          </form>
      <script>
    
      
    // 学习iframe伪ajax!!
    function Test(){
      var url=$("#url").val();
      $("#iframe").attr("src",url);
    }
    // function AjaxSubmit5(){
    //   document.getElementById("fm").submit();
    // }
    
    
    // jquery 的ajax  GET
      function AjaxSubmit1() {
         $.ajax({
             url:"/myapp/ajax_1",
             type:"GET",
             data:{"a":123},
             success:function (arg){
                console.log(arg); 
             }
         });
      };
    
    
    // 原生ajax  GET
    function AjaxSubmit2() {
      var xhr= new XMLHttpRequest();
      xhr.onreadystatechange=function (){
       if( xhr.readyState==4){   // 接收服务器返回的数据
          if(xhr.status==200){
           console.log(xhr.responseText);
         }else{
           console.log('ajax同步请求失败');
          }
       }
      };
      xhr.open("GET","/myapp/ajax_1?b=123456");
      xhr.send(null)
    }
    
    // jquery 的ajax POST function AjaxSubmit3() { $.ajax({ url:"/myapp/ajax_1", type:"POST", data:{"a":123}, success:function (arg){ console.log(arg); } }); };
    // 原生ajax POST function AjaxSubmit4(){ var xhr= new XMLHttpRequest(); xhr.onreadystatechange=function (){ if( xhr.readyState==4){ // 接收服务器返回的数据 if(xhr.status==200){ console.log(xhr.responseText); }else{ console.log('ajax同步请求失败'); } } }; xhr.open("POST","/myapp/ajax_1"); //设置请求头信息一般没有什么用但是对post有用 xhr.setRequestHeader('Content-Type','application/x-www-form-urlencoded'); xhr.send("d=7777777"); } </script> </body> </html>
    from django.shortcuts import render,HttpResponse,redirect
    # from .models import UserInfo
    from myapp import models
    # 启动服务器
    # D:4learnpython1Web_Djangwebpython>python manage.py runserver
    
    import os
    from django.conf import settings
    
    from django import forms
    from django.forms import fields
    
    # 显示页面
    def index_ajax(request):
              return render(request,"html_app/01index_ajax.html")
    
    # jquery-AJAX         
    def ajax_1(request):
        print(request.GET)
        print(request.POST)
        print(request.body)
        return HttpResponse("OK")
    from django.conf.urls import url,include
    from django.contrib import admin
    from .import views
    urlpatterns = [
         # 上传
        url(r'^index_ajax/',views.index_ajax),
        url(r'^ajax_1/',views.ajax_1),
    
    
    
    ]

    2. 上传相关的

     <!DOCTYPE html>
    <html>
      <head>
    
             {%load staticfiles%}
        <meta charset="UTF-8">
        <title>ajax上传文件   +  jquery上传 + 原生ajax上传  + iframe的form上传</title>
        <!-- <script type="text/javascript" src="/static/webpage/js/jquery1.js" ></script> -->
         <!-- 引用静态的方式-->
        <script type="text/javascript" src="{%static 'webpage/js/jquery1.js'%}" ></script>  
        <style type="text/css">
    
        </style>
      </head>
    
       <body>
           <h1>ajax上传文件   +  jquery上传 + 原生ajax上传  + iframe的form上传</h1>
          <div>
              <h3>通过jquery上传文件!!!</h3>
              <h3> 通过data=new FormData()  上传文件 兼任性不好</h3>
              <input type="file" id="img" />
              <!-- <a class="btn" onclick="AjaxSubmit1();">上传</a> -->
              <button class="btn" onclick="AjaxSubmit1();">上传ajax的jquery</button>
              <button class="btn" onclick="AjaxSubmit2();">上传ajax原生</button>
          </div>
    
    
        <br/>
        <br/>
        <br/>
        <div>
              <h3>通过iframe上传文件!!! 兼任性最好</h3>
              <h3> 通过iframe+form上传文件</h3>
              <iframe id="iframel" name="ifral" style="display: none;"></iframe>
              <form id="fml" action="/myapp/ajax_1/" method="POST" target="ifral" enctype="multipart/form-data">
               <input type="text" name="k1">
              <!--  <input type="text" name="k2"> -->
               <input type="file" name="k3">
               <button class="btn" onclick="AjaxSubmit3();">iframe上传文件</button>
              </form>
          </div>
    
    
    
      <script>
      // jquery上传
    function AjaxSubmit1() {
      var data=new FormData();  // js 的创建对象   用这个上传必须用两个参数 processData:false,  contentType:false
          data.append("k1","v1");
          data.append("k2","v2");
          data.append("k3",document.getElementById("img").files[0]);
      $.ajax({
         url:"/myapp/ajax_1/",
         type:"POST",
         data:data,
         success:function (arg){
          console.log(arg)
         },
         processData:false,
         contentType:false
      })
    }
    
    // 原生ajax  Post
    function AjaxSubmit2() {
      var data=new FormData();  // js 的创建对象   用这个上传必须用两个参数 processData:false,  contentType:false
          data.append("k1","v1");
          data.append("k2","v2");
          data.append("k3",document.getElementById("img").files[0]);
      var xhr= new XMLHttpRequest();
      xhr.onreadystatechange=function (){
       if( xhr.readyState==4){   // 接收服务器返回的数据
          if(xhr.status==200){
           console.log(xhr.responseText);
         }else{
           console.log('ajax同步请求失败');
          }
       }
      };
      xhr.open("POST","/myapp/ajax_1/");
      xhr.send(data)
    }
    
    
    
    // 通过iframe+form上传文件
    function AjaxSubmit3() {
    document.getElementById("iframel").onload=rel;
    document.getElementById("fml").submit();
    }
    function rel(){
     var content=this.contentWindow.document.body.innerHTML;
     var obj=JSON.parse(content);
         console.log(obj);
    }
    
      </script>
    
    
       </body>
    </html>
    from django.shortcuts import render,HttpResponse,redirect
    # from .models import UserInfo
    from myapp import models
    # 启动服务器
    # D:4learnpython1Web_Djangwebpython>python manage.py runserver
    
    import os
    from django.conf import settings
    
    from django import forms
    from django.forms import fields
    
    import json
    
    # 显示页面
    def index_ajax(request):
              return render(request,"html_app/01index_ajax.html")
    
    # jquery-AJAX         
    def ajax_1(request):
        ret={"status":True,"message":"啦啦啦啦啦啦"}
        print(request.FILES)
        print(request.POST)
        return HttpResponse(json.dumps(ret))
        # return HttpResponse("OK")
    
    def upload_ajax(request):
              return render(request,"html_app/02upload_ajax.html")
    
       
  • 相关阅读:
    xutils 上传文件 ,暂时
    UIView.FRAMEWORK
    2016.11.7
    2016.11.6新阶段开始
    远程推送
    xcode8 导入 dylib
    bugly使用
    anelife
    心阶段
    新阶段
  • 原文地址:https://www.cnblogs.com/lovershowtime/p/11370755.html
Copyright © 2011-2022 走看看