博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
ajax的封装
阅读量:5832 次
发布时间:2019-06-18

本文共 1576 字,大约阅读时间需要 5 分钟。

  ajax是前端工程中与后台进行数据交互的一门重要技术,通过在后台与服务器进行少量数据交换,AJAX 可以使网页实现异步更新。这意味着可以在不重新加载整个网页的情况下,对网页的某部分进行更新。jquery中对ajax进行了封装,可以直接使用.下面是自己封装的一个ajax的js文件,感兴趣的朋友可以下载使用,

  以下封装的ajax代码,可以帮助大家了解ajax的整个操作过程,告诉大家ajax是如何进行交互的.

  

function AJAX(obj) { //做网络请求的时候 ,参数以对象的形式传递进来

  //规定:obj里面包含属性:1.url
  //2.type --- get 还是 post
  //3.data --- 前端给后端传递的参数(前端传递的时候以对象的形式)
  //4.回调函数 --- success
  //5.回调函数 --- error

  var ajaxObj = null;
  if (window.XMLHttpRequest) {
    ajaxObj = new XMLHttpRequest();
  } else {
    ajaxObj = new ActiveXObject("Microsoft.XMLHTTP");
  }
 ajaxObj.onreadystatechange = function() {
  if (ajaxObj.readyState == 4) {
    if (ajaxObj.status >= 200 && ajaxObj.status < 300 || ajaxObj.status == 304) {
      if (obj.success) {
        obj.success(JSON.parse(ajaxObj.responseText));
      } else {
        alert("您忘记了success函数");
      }
    } else {
      if (obj.error) {
        obj.error(ajaxObj.status);
      } else {
        alert("您忘记了error函数");
      }
    }
  }
}
//type转化为小写,方便使用
  var type = obj.type || "get";
  var type = type.toLowerCase();
  //判断是否传递了参数
  var params = "";
  if (obj.data) {
    for (var key in obj.data) {
    params += (key + "=" + obj.data[key] + "&");
    }
    params = params.slice(0, params.length - 1);
  }

  if (type == "get") {

    ajaxObj.open(type, obj.url + "?" + params, true);
    ajaxObj.send();
  } else {
    ajaxObj.open(type, obj.url, true);
    ajaxObj.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
    ajaxObj.send(params);
  }

}

//欢迎大家提出改进建议 

转载于:https://www.cnblogs.com/sunweinan/p/ajax.html

你可能感兴趣的文章
接口测试与postman
查看>>
【转载】Nginx + Tomcat 实现反向代理
查看>>
Mac下,如何把Github上的仓库删除掉
查看>>
9.18考试 第一题count题解
查看>>
mac zsh选择到行首的快捷键
查看>>
js的apply方法使用详解,绝对NB
查看>>
linux使用crontab实现PHP执行定时任务(转)
查看>>
LINQ To XML的一些方法
查看>>
C++成员初始化顺序
查看>>
[LeetCode] Copy List with Random Pointer
查看>>
openstack部署之nova
查看>>
QNX 线程 调度策略 优先级 时钟频率 同步
查看>>
day20-视图获取用户请求相关信息以及请求头
查看>>
Runtime
查看>>
JS组件系列——表格组件神器:bootstrap table
查看>>
LeetCode --- Convert Sorted Array to Binary Search Tree
查看>>
存储过程Oracle(一)
查看>>
log4j日志归档
查看>>
Java笔记01——IO流
查看>>
mysql遇见error,1049
查看>>