最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

使用原生js封裝的ajax實(shí)例(兼容jsonp)

 更新時(shí)間:2017年10月12日 09:56:17   作者:mapbar_front  
下面小編就為大家?guī)硪黄褂迷鷍s封裝的ajax實(shí)例(兼容jsonp)。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧

實(shí)例如下:

/* 封裝ajax函數(shù)
 * @param {string}opt.type http連接的方式,包括POST和GET兩種方式
 * @param {string}opt.url 發(fā)送請(qǐng)求的url
 * @param {boolean}opt.async 是否為異步請(qǐng)求,true為異步的,false為同步的
 * @param {object}opt.data 發(fā)送的參數(shù),格式為對(duì)象類型
 * @param {function}opt.success ajax發(fā)送并接收成功調(diào)用的回調(diào)函數(shù)
 */
  function ajax(opt) {
    opt = opt || {};
    opt.method = opt.method.toUpperCase() || 'POST';
    opt.url = opt.url || '';
    opt.async = opt.async || true;
    opt.data = opt.data || null;
    opt.success = opt.success || function () {};
    opt.dataType = opt.dataType || "json";
    var xmlHttp = null;
    if (XMLHttpRequest) {
      xmlHttp = new XMLHttpRequest();
    }
    else {
      xmlHttp = new ActiveXObject('Microsoft.XMLHTTP');
    }var params = [];
    for (var key in opt.data){
      params.push(key + '=' + opt.data[key]);
    }
    var postData = params.join('&');
    if (opt.method.toUpperCase() === 'POST') {
      xmlHttp.open(opt.method, opt.url, opt.async);
      xmlHttp.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded;charset=utf-8');
      xmlHttp.send(postData);
    }
    else if (opt.method.toUpperCase() === 'GET') {
      xmlHttp.open(opt.method, opt.url + '?' + postData, opt.async);
      xmlHttp.send(null);
    } 
    xmlHttp.onreadystatechange = function () {
      if(opt.dataType != 'jsonp'){
        if (xmlHttp.readyState == 4 && xmlHttp.status == 200) {
          opt.success(xmlHttp.responseText);
        }
      }else{
        //alert(1); 
        if (xmlHttp.readyState == 4 && xmlHttp.status == 200) {
          var oScript = document.createElement('script');
          document.body.appendChild(oScript);

          var callbackname = 'wangxiao'
          oScript.src = opt.url + "?" + postData+'&callback='+callbackname;

          window['wangxiao'] = function(data) {
            opt.success(data);
            document.body.removeChild(oScript);
          };
        }


      }

    };
  }
  export default ajax;

以上這篇使用原生js封裝的ajax實(shí)例(兼容jsonp)就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

最新評(píng)論

大安市| 全州县| 鲁甸县| 景宁| 霍邱县| 岐山县| 湄潭县| 忻州市| 拜泉县| 时尚| 武威市| 香河县| 揭东县| 开平市| 安吉县| 衡南县| 元江| 新民市| 正定县| 石家庄市| 鹿泉市| 格尔木市| 紫云| 鸡西市| 鹤山市| 光山县| 屏山县| 博兴县| 容城县| 哈尔滨市| 夹江县| 洛隆县| 台北县| 荔波县| 和林格尔县| 金堂县| 乃东县| 定襄县| 五台县| 靖安县| 乌拉特中旗|