国产精品美女久久久浪潮AV,国产精品三级一二三区,久久精品国产一区二区小说 ,依依成人影视国产精品,全部无卡免费的毛片在线看,日本一区二区三深夜不卡,国产精品女同一区二区久久,国产精品夜色一区二区三区

        原生js的ajax請求

        2018-5-29    周周

        傳統方法的缺點:

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

        什么是ajax

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

        XMLHttpRequest 對象

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

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

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

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

        get請求:      

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

        post請求:

               //創建異步對象  
               var xhr = new XMLHttpRequest();
               //設置請求的類型及url
               //post請求一定要添加請求頭才行不然會報錯
               xhr.setRequestHeader("Content-type","application/x-www-form-urlencoded");
               xhr.open('post', '02.post.php' );
               //發送請求
               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發送數據
                  if (data) {
                    // 如果有值 從send發送
                        ajax.send(data);
                  }else{
                       // 木有值 直接發送即可
                      ajax.send();
                    }
                 }     

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

                        // 將 數據 讓 外面可以使用
                       // return ajax.responseText;

                       // 當 onreadystatechange 調用時 說明 數據回來了
                      // ajax.responseText;

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

        日歷

        鏈接

        個人資料

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

        存檔

        主站蜘蛛池模板: 天堂新版在线| 四虎国产精品永久地址入口| 小12箩利洗澡无码视频网站| 亚洲av成人一区二区三区av| 黑人粗大猛烈进出高潮视频| 撕开奶罩揉吃奶高潮av在线观看| 中文字幕精品久久久久人妻红杏1| www国产无套内射com| 台安县| 天堂在线| 大荔县| 色天天躁夜夜躁天干天干| 久热在线播放中文字幕| 无码无遮挡刺激喷水视频| 好姑娘免费高清在线观看| 欧性猛交ⅹxxx乱大交 | 西昌市| 大庆市| 国产一区二区三区色噜噜| 亚洲中文字幕aⅴ天堂| 久久人人97超碰a片精品| 不卡av电影在线| 成人亚洲性情网站www在线观看| 无码一区二区三区中文字幕| 亚洲av日韩av天堂影片人人网| 暖暖视频免费观看| 性一交一乱一伦一色一情丿按摩| 中文中文在线| 乌鲁木齐县| 常熟市| 国产性自爱拍偷在在线播放| 四房播播播| 把腿张开ji巴cao死你h | 精品色卡一线二线三线的| 性一交一乱一伦在线播放| 亚洲av日韩综合一区久热| 蜜桃mv在线播放免费观看视频| 国产深夜男女无套内射| 光泽县| 好屌爽在线视频| 国产精品_国产精品_k频道|