ajax之---原生ajax

Posted 小孩没穿鞋

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ajax之---原生ajax相关的知识,希望对你有一定的参考价值。


<body>
<h3>原生 ajax</h3>
<div>
<a class="btn" onclick="AjaxSubmit();">发送请求</a>
</div>
<script>
function AjaxSubmit() {
  var xhr=new XMLHttpRequest();                 #创建对象
  xhr.onreadystatechange=function (){ #回调函数,当状态发生改变时执行此函数
  if (xhr.readyState==4){                  #获取状态值:xhr.readyState
   console.log(xhr.responseText)
  }

  };
  xhr.open(‘GET‘,‘/ajax1.html?p=456‘);            #定义以什么方式发送数据和目标URL
  xhr.send(null);                         #post发送的数据内容
}
</script>
</body>

XmlHttpRequest对象的主要属性:  
a. Number readyState
   状态值(整数)
   详细:
      0-未初始化,尚未调用open()方法;
      1-启动,调用了open()方法,未调用send()方法;
      2-发送,已经调用了send()方法,未接收到响应;
      3-接收,已经接收到部分响应数据;
      4-完成,已经接收到全部响应数据;
b. Function onreadystatechange
   当readyState的值改变时自动触发执行其对应的函数(回调函数)
c. String responseText
   服务器返回的数据(字符串类型)
d. XmlDocument responseXML
   服务器返回的数据(Xml对象)
e. Number states
   状态码(整数),如:200404...
f. String statesText
   状态文本(字符串),如:OK、NotFound...
 
 XmlHttpRequest对象的主要方法:
a. void open(String method,String url,Boolen async)
   用于创建请求   
   参数:
       method: 请求方式(字符串类型),如:POST、GET、DELETE...
       url:    要请求的地址(字符串类型)
       async:  是否异步(布尔类型)
b. void send(String body)
    用于发送请求
    参数:
        body: 要发送的数据(字符串类型)
c. void setRequestHeader(String header,String value)
    用于设置请求头
    参数:
        header: 请求头的key(字符串类型)
        vlaue:  请求头的value(字符串类型)
d. String getAllResponseHeaders()
    获取所有响应头
    返回值:
        响应头数据(字符串类型)
e. String getResponseHeader(String header)
    获取响应头中指定header的值
    参数:
        header: 响应头的key(字符串类型)
    返回值:
        响应头中指定的header对应的值
f. void abort()
    终止请求

  
 
</script>




















以上是关于ajax之---原生ajax的主要内容,如果未能解决你的问题,请参考以下文章

ajax之---原生ajax

前端面试题之手写promise

JQuery 之 ajax上传文件 与 原生ajax 上传文件

关于原生ajax请求及其封装

原生AJAX入门讲解(含实例)

JavaScript之AJAX:原生ajax入门