<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      Django -Ajax

       Ajax

       

      特點(diǎn)優(yōu)勢(shì):

      1. 異步請(qǐng)求
      2. 局部刷新

      常用參數(shù):

      1. URL:請(qǐng)求路徑,為空則默認(rèn)為腳本所在路徑
      2. type:請(qǐng)求方式,get和post
      3. data:數(shù)據(jù),可自定義數(shù)據(jù)格式
      4. contentType:數(shù)據(jù)編碼格式
      5. processData:數(shù)據(jù)是否預(yù)處理
      6. sucess:function({data){}:回調(diào)函數(shù),處理前端返回的數(shù)據(jù)
          $(".btn").click(function () {
              $.ajax({
                  url:"",
                  type:"post",
                  data:"",
                  contentType:'',
                  processData: '',
                  success:function (data) {
                  }
              })
      
          })

      自定義數(shù)據(jù)格式:

      將data中的數(shù)據(jù)以Json的格式傳遞

      1. JSON.stringify:序列化字符串
      2. JSON.parse:反序列化字符串
          $(".btn").click(function () {
              $.ajax({
                  url:"",
                  type:"post",
                  data:JSON.stringify({"a":1,"b":2}), # 使用jQuery的 JSON序列化
                  contentType:'',
                  processData: '',
                  success:function (data) {
                      console.log(data)
                  }
              })
      
          })

      
      

      Ajax表單登錄驗(yàn)證

      視圖函數(shù)處理:

      def login(request):
          state = {"user":None,"msg":""}
          user =request.POST.get("user")
          pwd =request.POST.get("pwd")
          user = User.objects.filter(user=user,pwd=pwd).first()
          if user:
              state["user"] = user.user
          else:
              state["msg"] = "wrong"
          return HttpResponse(json.dumps(state))

      HTML文件:

      <h1>Ajax表單的登錄驗(yàn)證</h1>
          <form>
              user:<input type="text" id="user">
              pwd:<input type="password" id="pwd">
              <input type="button" id="ajax_login" value="ajax">
              <span class="error"></span>
          </form>
      <script>
          $("#ajax_login").click(function () {
      
              $.ajax({
                  url: "/login/",
                  data: {
                      "user":$("#user").val(),
                      "pwd":$("#pwd").val(),
                  },
                  type: "post",
      
                  success:function (data) {
                     
                      console.log(data);  // {"user": "tom", "msg": ""}
                      console.log(typeof data); //str類(lèi)型
                      var data = JSON.parse(data);  // 將json字符串轉(zhuǎn)為jQuery的數(shù)據(jù)格式
                      console.log(typeof data); // obj類(lèi)型
                      if  (data.user){
                          location.
                      }
                      else {
                          $(".error").html(data.msg).css({"color":"red","magain-ringt":"10px"})
                      }
                  }
              })
          })

       

      Ajax傳輸鍵值對(duì)數(shù)據(jù):

          <form enctype="multipart/form-data" >
              用戶(hù)名:<input type="text" id="name"  >
              頭  像:<input type="file" id="files"  >
              <input type="button" class="btn" value="ajax">
          </form>
      <script>
          $(".btn").click(function () {
              $.ajax({
                  url:"",
                  type:"post",
                  data:{
                      "name":$("#name").val(),
                      "files":$("#files").val(),
                  },
                  success:function (data) {
                      console.log(data)
                  }
              })
      
          })
      </script>

      處理函數(shù)打印結(jié)果:

      body: b'name=Tom&files=C%3A%5Cfakepath%5C%E6%9D%A8%E5%B9%823.jpg'
      post: <QueryDict: {'name': ['Tom'], 'files': ['C:\\fakepath\\楊冪3.jpg']}>

       

      在請(qǐng)求頭Form Data中即可看到數(shù)據(jù):

      Ajax文件傳輸:

      Ajax傳輸文件需要先創(chuàng)建 “FormData“,然后根據(jù)導(dǎo)入 數(shù)據(jù)  formdata.append("",""); # 以鍵值對(duì)的形式導(dǎo)入 

              var formdata =new FormData();
              formdata.append("name",$("#name").val());
              formdata.append("files",$("#files")[0].files[0]);

      HTML文件:

      <h1>Ajax表單上傳文件</h1>
          <form >
              用戶(hù)名:<input type="text" id="name"  >
              頭  像:<input type="file" id="files"  >
              <input type="button" class="btn" value="ajax">
          </form>
      <script>
          $(".btn").click(function () {
              var formdata =new FormData();
              formdata.append("name",$("#name").val());
              formdata.append("files",$("#files")[0].files[0]);
      
              $.ajax({
                  url:"",
                  type:"post",
                  contentType: false,
                  processData: false,
                  data:formdata,
                  success:function (data) {
                      console.log(data)
                  }
              })
          })
      </script>

      其中, $("#files")[0].files[0]  是獲取Jquery獲取文件的固定格式

      函數(shù)處理:

          if request.method == "POST":     
              files = request.FILES.get("files")   # 獲取文件
              with open(files.name,"wb") as f:
                  for line in files:
                      f.write(line)
              return HttpResponse("ok")
          return render(request,"upfiles.html")  

      擴(kuò)展:POST、body,F(xiàn)ILES

      打印上面的示例      

           print("body:",request.body)
            # 只要報(bào)文的請(qǐng)求體中有值,body里就會(huì)有數(shù)據(jù)
           print("post:",request.POST) # post: <QueryDict: {'name': ['Tom']}> 編碼為encod時(shí) 才會(huì)講body中的bety數(shù)據(jù)類(lèi)型轉(zhuǎn)為字典 以方便獲取值 print("FILES:",request.FILES) # FILES: <MultiValueDict: {'files': [<InMemoryUploadedFile: 楊冪4.jpg (image/jpeg)>]}> # 只有在傳輸文件時(shí)才有值

       

      posted @ 2020-04-13 14:02  繁華無(wú)殤  閱讀(146)  評(píng)論(0)    收藏  舉報(bào)
      主站蜘蛛池模板: 57pao成人国产永久免费视频| 亚洲一本大道在线| 免费日韩av网在线观看| 久久久久久久久18禁秘| 午夜福利理论片高清在线| 亚洲国产日韩伦中文字幕| 午夜欧美精品久久久久久久 | 国产欧美日韩精品丝袜高跟鞋| 亚洲成亚洲成网| 韩国一级毛片中文字幕| 毛多水多高潮高清视频| 四虎永久精品免费视频| 五月丁香色综合久久4438| 国产一级三级三级在线视| 亚洲 一区二区 在线| 国产偷国产偷亚洲高清人| 华人在线亚洲欧美精品| 99精品国产综合久久久久五月天| 欧美性潮喷xxxxx免费视频看| 日本一卡2卡3卡四卡精品网站| 人人爽人人爽人人片av东京热| 亚洲天堂激情av在线| 偷拍专区一区二区三区| 亚洲av尤物一区二区| 国产午夜福利精品久久不卡| 人人爽人人爽人人片av东京热| 国产精品亚洲综合第一页| 中国少妇人妻xxxxx| 亚洲色av天天天天天天| 丝袜高潮流白浆潮喷在线播放| 天天摸天天做天天爽水多| 成人综合人人爽一区二区| 久久天天躁狠狠躁夜夜2020老熟妇| 日韩精品亚洲专在线电影| 亚洲偷偷自拍码高清视频| 欧美亚洲国产一区二区三区| 成人无码潮喷在线观看| 四虎成人精品在永久免费| 久久青青草原精品国产app| 亚洲人成网站在线播放2019| 久久人与动人物a级毛片|