美文网首页
封装一个jQuery ajax

封装一个jQuery ajax

作者: ZombieBrandg | 来源:发表于2018-06-18 16:44 被阅读0次

    参考资料

    function ajax(options) {
      var url = options.url;
      var method = options.type || "GET";
      var datatype = options.dataType || "jSON";
      var onsuccess = options.onsuccess || function() {};
      var onerror = options.onerror || function() {};
      var data = options.data || {};
      var xhr = new XMLHttpRequest();
      var dataStr = [];
      for (var key in data) {
        dataStr.push(key + "=" + data[key]);
      }
      dataStr.join("&");
      if (method === "GET") {
        url = url + "?" + dataStr;
      }
      xhr.open(method, url, true);
      xhr.onload = function(e) {
        if ((xhr.status >= 200 && xhr.status < 300) || xhr.status === 300) {
          if (datatype === "json") {
            onsuccess(JSON.parse(xhr.responseText));
          }
        } else {
          onerror();
        }
      };
      xhr.onerror = onerror;
      if (method === "POST") {
        xhr.send(dataStr);
      } else {
        xhr.send();
      }
    }
    ajax({
      url: "http://api.jirengu.com/weather.php",
      data: {
        city: "北京"
      },
      onsuccess: function(ret) {
        console.log(ret);
      },
      onerror: function() {
        console.log("服务器异常");
      }
    });
    
    

    相关文章

      网友评论

          本文标题:封装一个jQuery ajax

          本文链接:https://www.haomeiwen.com/subject/immneftx.html