博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Ajax(XMLHttpRequest对象)
阅读量:5014 次
发布时间:2019-06-12

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

let xml = new XMLHttpRequest() | new ActiveXObject("Miscrosoft.XMLHTTP") //创建XMLHttpRequest()对象 

//get

xml.open('get','/login?name=lisi&pass=123456',true) //true 是异步 false 是同步  

xml.send() 

//post

xml.open('post','/login',true)

xml.setRequestHeader('Content-type","application/x-www-form-urlencoded")

xml.send("name=lisi&pass=123456")

 

xml.onreadystatechange = function () {

  if(xml.readyState == 4) {  // readyState == 4 说明请求已经发送完成 

0:未初始化。尚未调用open()方法。

1:启动。已经调用open()方法,但尚未调用send()方法。
2:发送。已经调用send()方法,但尚未收到响应。
3:接收。已经接收到部分响应数据。
4:完成。已经接收到全部响应数据,而且已经可以在客户端使用了。

    if(xml.status == 200){

      alert(xml.responseText)
    }

  }

}

//封装 

ajax({

  type: 'post/get',

  url: ' ',

  data: ' ',

  dataType: ' ',

  success (res)=>{},

  error() => {}

})

 

function ajax (){

  let ajax = {
    type: arguments[0].type || 'GET',

    url:arguments[0].url || ''",

    data:arguments[0] || null,

    async:arguments[0].asunc || 'true',

    dataType: arguments[0].dataType || 'text',

    contentType: arguments[0].contentType || "application/x-www-form-urlencded",

    beforeSend: arguments[0].beforeSend || function (){},

    success:argument[0].success || function () {},

    error:arguments[0].erroe || function () {}

  }

  ajax.beforeSend();

  xml.open(ajax.type',ajax.url,ajax,async);

  xml.sendRequestHeader('Content-type',ajax.contentType);

  xml.send(ajax.data);

  xml.onreadstatechange = function () {

    if(xml.readyState == 4) {
      if(xml.status == 200) {
        ajax.success(xml.response)
      }else{
        ajax.error()
      }
    }
  }
}

//仅供参考 菜鸟一枚 参考了其他人的代码敲的

转载于:https://www.cnblogs.com/sjw0802/p/8657377.html

你可能感兴趣的文章
微信小程序-学习笔记2-页面配置
查看>>
webpackの学习笔记2
查看>>
RobotFramework教程使用笔记——robotframwork中文乱码显示问题
查看>>
[.NET WebAPI系列03] WebAPI Controller 中标准CRUD方法
查看>>
AngularJS
查看>>
linux下elasticsearch集成mongodb详细教程
查看>>
【整理】Virtualbox中的网络类型(NAT,桥接等),网卡,IP地址等方面的设置
查看>>
【转载】Js获取当前日期时间及其它操作
查看>>
批处理安装nodejs
查看>>
Mybatis 动态sql(转载)
查看>>
前端工作面试问题
查看>>
开源分布式实时计算引擎 Iveely Computing 之 安装部署(2)
查看>>
[ CodeForces 17 E ] Palisection
查看>>
CentOS7 安装sentry(最新)
查看>>
PHP读写XML文件的四种方法
查看>>
Linux下编译安装Python-3.6.5
查看>>
关于js关闭浏览器技术细谈
查看>>
WPF ListBox 自动排列
查看>>
java 正则表达式-忽略大小写与多行匹配
查看>>
【转】MySQL GRANT REVOKE用法
查看>>