国产精品美女久久久浪潮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://www.shtzxx.cn

        存檔

        主站蜘蛛池模板: 午夜dj高清免费观看视频| 精品人妻少妇一区二区三区在线| 中文字幕无码av激情不卡| 天堂在线| 禄丰县| 午夜裸体性播放| 国产精品沙发午睡系列990531| 麻豆 美女 丝袜 人妻 中文| 插b内射18免费视频| 开平市| 男插女高潮一区二区| 免费无码一区二区三区蜜桃大| 久久综合九色综合国产| 大渡口区| 亚洲天堂av 在线| 金山区| 欧美老肥妇做爰bbww| 欧美大屁股xxxxhd| 沂源县| 18禁高潮出水呻吟娇喘蜜芽| 国产一区二区丝袜高跟鞋| caoporm国产精品视频免费| 免费观看欧美成人aa片爱我多深| 亚洲欧美黑人深喉猛交群| 亚洲中文精品久久久久久| 亚洲人成色77777在线观看| 天堂…在线最新版在线| 玛沁县| 少妇熟女高潮流白浆| 中文字幕精品一区二区2021年| 人乱an乱alv老人乱| 娄底市| 日本欧美视频在线观看| 国产精品无码av天天爽播放器 | 中文字幕人妻少妇引诱隔壁 | 丰满熟女人妻中出系列| 丁香花高清在线观看完整版| 日本边添边摸边做边爱| 吃奶还摸下面动态图gif| caoporn成人免费公开| 板桥市|