<strike id="g3zqm"></strike>

      <cite id="g3zqm"></cite>

        <tr id="g3zqm"><center id="g3zqm"></center></tr>
        <pre id="g3zqm"><sup id="g3zqm"></sup></pre>
        <li id="g3zqm"></li>
      1. 少妇高潮激情一区二区三,免费av深夜在线观看,亚洲狼人久久伊人久久伊,久久精品人人做人人爽电影蜜月,黄色特级片一区二区三区,欧美日韩在线亚洲二区综二,极品少妇无套内射视频,日本极品少妇videossexhd

        原生js的ajax請求

        2018-5-29    之晨

        傳統(tǒng)方法的缺點:

              傳統(tǒng)的web交互是用戶觸發(fā)一個http請求服務器,然后服務器收到之后,在做出響應到用戶,并且返回一個新的頁面,,每當服務器處理客戶端提交的請求時,客戶都只能空閑等待,并且哪怕只是一次很小的交互、只需從服務器端得到很簡單的一個數(shù)據(jù),都要返回一個完整的HTML頁,而用戶每次都要浪費時間和帶寬去重新讀取整個頁面。這個做法浪費了許多帶寬,由于每次應用的交互都需要向服務器發(fā)送請求,應用的響應時間就依賴于服務器的響應時間。這導致了用戶界面的響應比本地應用慢得多。

        什么是ajax

               ajax的出現(xiàn),剛好解決了傳統(tǒng)方法的缺陷。AJAX 是一種用于創(chuàng)建快速動態(tài)網(wǎng)頁的技術。通過在后臺與服務器進行少量數(shù)據(jù)交換,AJAX 可以使網(wǎng)頁實現(xiàn)異步更新。這意味著可以在不重新加載整個網(wǎng)頁的情況下,對網(wǎng)頁的某部分進行更新。

        XMLHttpRequest 對象

               XMLHttpRequest對象是ajax的基礎,XMLHttpRequest 用于在后臺與服務器交換數(shù)據(jù)。這意味著可以在不重新加載整個網(wǎng)頁的情況下,對網(wǎng)頁的某部分進行更新。目前所有瀏覽器都支持XMLHttpRequest

        方法
        描述
        abort()
        停止當前請求
        getAllResponseHeaders() 
         把HTTP請求的所有響應首部作為鍵/值對返回
        getResponseHeader("header")
        返回指定首部的串值
        open("method","URL",[asyncFlag],["userName"],["password"])
        建立對服務器的調用。method參數(shù)可以是GET、POST或PUT。url參數(shù)可以是相對URL或絕對URL。這個方法還包括3個可選的參數(shù),是否異步,用戶名,密碼
        send(content)
        向服務器發(fā)送請求
        setRequestHeader("header", "value") 
        把指定首部設置為所提供的值。在設置任何首部之前必須先調用open()。設置header并和請求一起發(fā)送 ('post'方法一定要 )
        五步使用法:

               1.創(chuàng)建XMLHTTPRequest對象
               2.使用open方法設置和服務器的交互信息
               3.設置發(fā)送的數(shù)據(jù),開始和服務器端交互
               4.注冊事件
               5.更新界面

        下面給大家列出get請求和post請求的例子

        get請求:      

               //步驟一:創(chuàng)建異步對象
               var ajax = new XMLHttpRequest();
               //步驟二:設置請求的url參數(shù),參數(shù)一是請求的類型,參數(shù)二是請求的url,可以帶參數(shù),動態(tài)的傳遞參數(shù)starName到服務端
               ajax.open('get','getStar.php?starName='+name);
               //步驟三:發(fā)送請求
                ajax.send();
               //步驟四:注冊事件 onreadystatechange 狀態(tài)改變就會調用
                ajax.onreadystatechange = function () {
               if (ajax.readyState==4 &&ajax.status==200) {
               //步驟五 如果能夠進到這個判斷 說明 數(shù)據(jù) 完美的回來了,并且請求的頁面是存在的
               console.log(xml.responseText);//輸入相應的內容
                 }
                } 

        post請求:

               //創(chuàng)建異步對象  
               var xhr = new XMLHttpRequest();
               //設置請求的類型及url
               //post請求一定要添加請求頭才行不然會報錯
               xhr.setRequestHeader("Content-type","application/x-www-form-urlencoded");
               xhr.open('post', '02.post.php' );
               //發(fā)送請求
               xhr.send('name=fox&age=18');
               xhr.onreadystatechange = function () {
               // 這步為判斷服務器是否正確響應
               if (xhr.readyState == 4 && xhr.status == 200) {
                      console.log(xhr.responseText);
                     }
                };    

        為了方便使用,我們可以把他封裝進方法里面,要用的時候,直接調用就好了

               function ajax_method(url,data,method,success) {
               // 異步對象
               var ajax = new XMLHttpRequest();

              // get 跟post  需要分別寫不同的代碼
              if (method=='get') {
                  // get請求
                  if (data) {
                      // 如果有值
                      url+='?';
                      url+=data;
                  }else{

                 }      

               // 設置 方法 以及 url
                    ajax.open(method,url);

                   // send即可
                   ajax.send();
                }else{
                     // post請求
                     // post請求 url 是不需要改變
                     ajax.open(method,url);

                    // 需要設置請求報文
                   ajax.setRequestHeader("Content-type","application/x-www-form-urlencoded");

                   // 判斷data send發(fā)送數(shù)據(jù)
                  if (data) {
                    // 如果有值 從send發(fā)送
                        ajax.send(data);
                  }else{
                       // 木有值 直接發(fā)送即可
                      ajax.send();
                    }
                 }     

               // 注冊事件
               ajax.onreadystatechange = function () {
               // 在事件中 獲取數(shù)據(jù) 并修改界面顯示
                    if (ajax.readyState==4&&ajax.status==200) {
                        // console.log(ajax.responseText);

                        // 將 數(shù)據(jù) 讓 外面可以使用
                       // return ajax.responseText;

                       // 當 onreadystatechange 調用時 說明 數(shù)據(jù)回來了
                      // ajax.responseText;

                      // 如果說 外面可以傳入一個 function 作為參數(shù) success
                      success(ajax.responseText);
                     }
                 }
              }

        日歷

        鏈接

        個人資料

        藍藍設計的小編 http://m.hengshangtqd.cn

        存檔

        主站蜘蛛池模板: 国产亚洲精品成人aa片新蒲金| 超碰国产精品久久国产精品99| 免费无码一区无码东京热| 人妻系列国产精品| 国产网友自拍| 天天天干夜夜夜操| 亚洲国产日韩欧美一区二区三区| 亚洲视频一区| 亚洲AV日韩AV永久无码网站| 少妇无码| 国产av仑乱内谢| 国产乱老熟女乱老熟女视频| 中国6一12呦女精品| 亚洲aⅴ男人的天堂在线观看 | 国产精品毛片在线直播完整版 | 国产欧美久久一区二区三区| 亚洲在战AV极品无码| 亚洲免费观看一区二区三区| 熟妇激情性爱视频| 亚洲AV激情无码专区在线下载| 国产稚嫩高中生呻吟激情在线视频| 黑人变态另类videos| av一卡二卡| 成人福利国产午夜av免费不卡在线| XXXXXHD亚洲日本HD| 国产制服丝袜在线视频| 亚洲日本国产一区二区精品成人 | 久久99国产乱子伦精品免费 | 亚洲欧洲av综合色无码| 影音先锋男人资源网站| 欧美一本大道香蕉综合视频| 一本久道久久综合狠狠爱四虎影视| 国产Av专区| 人人操人人| 国产AV无码专区亚洲AWWW| 色婷婷久久视屏 | 长葛市| 18禁美女裸身无遮挡免费网站| 在线观看人成视频免费| 亚洲色偷偷| 福利第一页|