• <noscript id="ggggg"><dd id="ggggg"></dd></noscript>
    <small id="ggggg"></small> <sup id="ggggg"></sup>
    <noscript id="ggggg"><dd id="ggggg"></dd></noscript>
    <tfoot id="ggggg"></tfoot>
  • <nav id="ggggg"><cite id="ggggg"></cite></nav>
    <nav id="ggggg"></nav>
    成人黃色A片免费看三更小说,精品人妻av区波多野结衣,亚洲第一极品精品无码,欧美综合区自拍亚洲综合,久久99青青精品免费观看,中文字幕在线中字日韩 ,亚洲国产精品18久久久久久,黄色在线免费观看

    原生js的ajax請求

    2018-5-29    周周

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

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

    什么是ajax

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

    XMLHttpRequest 對象

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

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

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

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

    get請求:      

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

    post請求:

           //創(chuàng)建異步對象  
           var xhr = new XMLHttpRequest();
           //設(shè)置請求的類型及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 () {
           // 這步為判斷服務(wù)器是否正確響應(yīng)
           if (xhr.readyState == 4 && xhr.status == 200) {
                  console.log(xhr.responseText);
                 }
            };    

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

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

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

             }      

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

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

                // 需要設(shè)置請求報文
               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 調(diào)用時 說明 數(shù)據(jù)回來了
                  // ajax.responseText;

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

    日歷

    鏈接

    個人資料

    藍藍設(shè)計的小編 http://www.lzhte.cn

    存檔

    主站蜘蛛池模板: 一二三四视频社区在线播放中国| 亚洲欧洲天堂色AV| 婷婷伊人网| 国产乱人伦偷精品视频麻豆 | 欧美精品v日韩精品v国产精品| 96在线看片免费视频国产| 国产成a人亚洲精v品无码性色| 免费av在线亚洲一区| 办公室啪啪激烈高潮动态图| 成武县| 中文字幕日本一区久久| 91九色国产porny| 亚洲综合激情另类小说区| 波多野结衣乱码中文字幕| 亚洲av午夜成人片精品| 一本大道香蕉久中文在线播放| 成人网在线观看| 亚洲一二三四中文字幕| 免费在线观看av毛片| 国内精品视频一区二区八戒| 长寿区| 国产午夜片无码区在线观看| 精品伊人久久久99热这里只| 久久香蕉超碰97国产精品| 美女丝袜诱惑一区二区三区| 91福利在线观看视频| 日本sm/羞辱/调教/捆绑| 福利一区二区三区视频在线| 2018国产精产品在线不卡| 国产免费观看网站黄页| 伊人精品成人久久综合97| 911国产自产精品a| 亚洲日本高清一区二区三区| 国产有码一区二区三区| 午夜福利姬| 伊人久久精品无码二区麻豆| 亚洲国产亚洲综合在线尤物| 最新亚洲综合中文字幕在线| 动漫精品中文字幕无码| 91丝袜美腿高跟国产老师在线| 日本免费一区二区三区a区|