欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

js 原生手写AJAX

程序员文章站 2022-08-06 09:30:14
前言:最近在学习react,在练习中模拟一个button通过AJAX向后台发送POST请求,懒得引入AXIOS,就顺便练习了js原生ajax。 正文: 注:我忽略了IE6及以下版本 一般项目中,还是使用Axios吧,比较方便。 ......

前言:最近在学习react,在练习中模拟一个button通过AJAX向后台发送POST请求,懒得引入AXIOS,就顺便练习了js原生ajax。

正文:

注:我忽略了IE6及以下版本

  submit(){
    let data = this.props.value //这是要发送的数据
    let xmlHttp = new XMLHttpRequest() //new XMLHttpRequest 对象
    //发送请求
    xmlHttp.open('POST', 'ajax_test.asp', true) //true是异步请求,false是同步的请求,不建议
    xmlHttp.setRequestHeader('name', 'formData') //由于是提交form表单,最好set一个http头部。
    xmlHttp.send(data) //只有在POST时候有参数,参数是string类型的数据,get方法并没有。
    
    //接收相应 responseText 和 responseXML 属性
    let response = xmlHttp.responseText
    xmlHttp.onreadystatechange = function () {
      if (xmlHttp.readyState === 4 && xmlHttp.status === 200) {
          alert('成功'+ response)
      }
    }
  }

一般项目中,还是使用Axios吧,比较方便。