美文网首页
封装一个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 封装

    Jquery Ajax封装 Jquery Ajax 调用

  • 封装 jQuery.ajax

    封装一个 jQuery.ajax 升级jQuery.ajax 满足 Promise 规则

  • promise

    let 封装一个jQuery.ajax 可用jQuery.ajax(url,method,body,success...

  • 【JavaWeb】jQuery对Ajax的支持

    jQuery对Ajax的支持 jQuery对Ajax进行封装,提供了$.ajax()方法 语法:$.ajax(op...

  • html5的ajax学习(三)

    一.原生的ajax封装 原生的ajax的调用 二.jquery的ajax 2.1 jquery的语法 三. fun...

  • ajax总结

    1. Ajax 1.1 原生JavaScript封装Ajax 1.2 jquery ajax 及其 快捷方法 $....

  • 黑猴子的家:JavaWeb 之 Jquery

    1、JQuery对Ajax的支持(web_ajax) JQuery是当前比较主流的 JavaScript 库,封装...

  • AJAX学习(二):jQuery与AJAX

    AJAX()方法 jQuery对AJAX进行了非常完整的封装,提供了非常丰富的AJAX方法以供使用。jQuery中...

  • JQuery_AJAX

    jquery Ajax是对 XMLHttpequest 对象的封装 常用部分 $.ajax({type: "POS...

  • jQuery中的Ajax

    jQuery中的ajax 封装第一层 - 类似于原生ajax的用法$ajax 封装第二层 - 基于第一层再次封装$...

网友评论

      本文标题:封装一个jQuery ajax

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