麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 開發 > AJAX > 正文

JavaScript結合AJAX_stream實現流式顯示

2024-09-01 08:33:27
字體:
來源:轉載
供稿:網友
這篇文章主要介紹了JavaScript結合AJAX_stream實現流式顯示,需要的朋友可以參考下
 

當使用AJAX進行信息交互的時候,如果服務器返回的信息比較大,那么相對于傳送完成之后的統一顯示,流式顯示就比較友好了。

流式實現

原理就是設置定時器,定時的查看AJAX對象的狀態并更新內容,如果傳送完成,就取消定時器。

 

復制代碼代碼如下:

function ajax_stream(url,data,element) {
    var xmlHttp=null;
    if (window.XMLHttpRequest)
      {// code for IE7, Firefox, Opera, etc.
      xmlHttp=new XMLHttpRequest();
      }
    else if (window.ActiveXObject)
      {// code for IE6, IE5
      xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
      }
    if (xmlHttp==null)
      {
      alert("Your browser does not support XMLHTTP.");
      element.val('Your browser does not support XMLHTTP. Click the LOG link to monitor the procedure.');
      return 0;
      }
    var xhr = xmlHttp;
    xhr.open('POST', url, true);
    // 如果需要像 HTML 表單那樣 POST 數據,請使用 setRequestHeader() 來添加 HTTP 頭。然后在 send() 方法中規定您希望發送的數據:
    xhr.setRequestHeader("Content-type","application/x-www-form-urlencoded");
    xhr.send(data);
    var timer;
    timer = window.setInterval(function() {
        if (xhr.readyState == XMLHttpRequest.DONE) {
            window.clearTimeout(timer);
        }
        element.val(xhr.responseText);
    }, 1000);
}

 

post數據轉換

由于標準實現中的send只能接受以下幾種輸入,所以需要提前對需要傳遞的數據對象轉換為字符串或者FormData格式,這一點就不如JQuery的方便了,但是JQuery如何在傳輸中間實現事件響應還不得而知,所以不能用,再或者把所有的對象轉換中JSON。

 

復制代碼代碼如下:

void send();
void send(ArrayBuffer data);
void send(Blob data);
void send(Document data);
void send(DOMString? data);
void send(FormData data);

 

下面是轉換的代碼,如果瀏覽器支持FormData就轉換,否則轉成字符串。

 

復制代碼代碼如下:

function ajax_generate_data(jsobj) {
    var i;
    if (window.FormData) {
        var data = new FormData();
        for i in jsobj {
            data.append(i,jsobj[i]);
        }
    } else {
        var data = '';
        var datas = [];
        for i in jsobj {
            // for the values so that possible & contained in the strings do not break the format
            var value = encodeURIComponent(jsobj[i]);
            datas.append(i + '=' + value);
        }
        data = datas.join('&')
    }
    console.log(data);
    return data;
}

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 一级视频在线播放 | 26uuu成人人网图片 | 日本欧美一区二区三区在线观看 | 最新中文字幕日本 | 日韩视频一区 | 国产精品色综合 | 中文字幕偷拍 | 一级美女大片 | 久久国产亚洲精品 | 在线免费日本 | 久草导航| 国产午夜精品在线 | 国产一级在线免费观看 | 色99999| 色呦呦一区二区三区 | 一区二区三区视频在线观看 | 娇喘在线 | 国产一区二区三区色淫影院 | 国产毛片毛片 | 亚洲一区二区三区视频 | 精品国产一区二区三区四 | 涩涩屋av | 激情宗合网 | 精品国产91久久久 | 国产69精品久久99不卡免费版 | 久久久久国产成人精品亚洲午夜 | 国产一区二区免费 | av电影在线观看免费 | 午夜爱爱福利 | 中文字幕欧美专区 | 精品中文字幕久久久久四十五十骆 | 黄色一级视频 | 欧美中文字幕一区二区 | 亚洲国产精品一区二区久久 | 中文字幕在线一 | 久久99国产精品久久 | 99精品在线免费 | 日韩视| av电影在线网站 | 99riav国产在线观看 | 亚洲一区二区三区在线免费观看 |